当前位置: 首页 > 面试题库 >

单击条形图或条形图时,打开新的框架或图表

魏誉
2023-03-14
问题内容

我有一个条形图,它从mysql数据库中获取数据集,而我一直
坚持使用chartMouseClicked。
正如我在上一个
问题中了解到的那样,当前代码是在单击x或y轴条时打印的,但是
当我单击x或y轴上的特定条并打开新的框架或图表时,如何设置该代码。
还有一个信息框会很好。

private void lineChart() {
// *************** ADDING BAR CHART FROM DATABASE *****************************

try {
    String sql = "select Region, Male, Female from ObeseLondon limit 14";
    JDBCCategoryDataset dataset = new JDBCCategoryDataset(MySQL.Connectdb(), sql);
    JFreeChart chart = ChartFactory.createBarChart("", "Town", "No. Of Obese People", dataset, PlotOrientation.HORIZONTAL, true, true, true);
    chart.setBackgroundPaint(Color.white);
    BarRenderer render = null;
    //CategoryPlot plot = null;
    CategoryPlot plot = (CategoryPlot) chart.getPlot();
    plot.getRenderer().setSeriesPaint(0, Color.green);
    plot.getRenderer().setSeriesPaint(1, Color.yellow);
    render = new BarRenderer();

    org.jfree.chart.ChartFrame chartframe = new org.jfree.chart.ChartFrame("Query Chart", chart);
    //chartframe.setVisible(true);
    //chartframe.setSize(200,500);
    panelBarChart.setLayout(new java.awt.BorderLayout());
    ChartPanel chartPanel = new ChartPanel(chart);
    panelBarChart.add(chartPanel);
    panelBarChart.validate();
    chartPanel.addChartMouseListener(new ChartMouseListener() {

@Override
public void chartMouseClicked(ChartMouseEvent event) {
    ChartEntity entity = event.getEntity();
    System.out.println(entity);
}

@Override
public void chartMouseMoved(ChartMouseEvent event) {
}

问题答案:

JOptionPane在您的处理程序中打开一个,如下所示ChartMouseListener添加到中BarChartDemo1。该
窗格显示如本相关标签的面板,例如,但嵌套ChartPanel将正常工作。

@Override
public void chartMouseClicked(ChartMouseEvent event) {
    CategoryItemEntity entity = (CategoryItemEntity) event.getEntity();
    JPanel panel = new JPanel(new GridLayout(0, 1));
    Comparable row = entity.getRowKey();
    Comparable col = entity.getColumnKey();
    panel.add(new JLabel(String.valueOf(row)));
    panel.add(new JLabel(String.valueOf(col)));
    panel.add(new JLabel(String.valueOf(entity.getDataset().getValue(row, col))));
    JOptionPane.showMessageDialog(rootPane, panel);
}


 类似资料:
  • 我使用chart.js在我的网页上有一个BarChart。 我在其中添加了两个数据点 现在我想要更新那些条A和B,而不是删除它们并再次添加它们(我已经想好了如何做到这一点)。我想让它们垂直移动以适应它们的新值,但我无法找到如何访问图表中已经存在的数据。 没有什么比得上 其中第一个值将是存储数据的索引(F.E.)。 我该怎么做呢?

  • 默认条形图 <?php declare(strict_types = 1); ​ $config = [ 'path' => './tests', ]; ​ $dataHeader = [ 'Number', 'Batch 1', 'Batch 2', ]; ​ $dataRows = [ [2, 10, 30], [3, 40, 60], [4, 50

  • 条形图通过比较特定类别中的值来提供数据趋势的高级概览。 垂直条形图 垂直堆积条形图 水平条形图 水平堆积条形图 图表属性 选择图表类型后,可以更改其属性来自定义图表: 选项 描述 常规 背景颜色 设置图表区域的背景颜色。 不透明度 设置背景颜色的不透明度。 显示边框 显示图表外部边框。 边界颜色 设置图表外部边框的颜色。 显示标题 显示图表的主要标题。 标题 指定图表的标题。 标题字体 设置标题的

  • 条形图通过比较特定类别中的值来提供数据趋势的高级概览。 垂直条形图 垂直堆积条形图 水平条形图 水平堆积条形图 图表属性 选择图表类型后,可以更改其属性来自定义图表: 选项 描述 常规 背景颜色 设置图表区域的背景颜色。 显示边框 显示图表外部边框。 边界颜色 设置图表外部边框的颜色。 显示标题 显示图表的主要标题。 标题 指定图表的标题。 标题字体 设置标题的字体样式。 位置 设置标题的位置。

  • 条形图通过比较特定类别中的值来提供数据趋势的高级概览。 垂直条形图 垂直堆积条形图 水平条形图 水平堆积条形图 图表属性 选择图表类型后,可以更改其属性来自定义图表: 选项 描述 常规 背景颜色 设置图表区域的背景颜色。 不透明度 设置背景颜色的不透明度。 显示边框 显示图表外部边框。 边界颜色 设置图表外部边框的颜色。 显示标题 显示图表的主要标题。 标题 指定图表的标题。 标题字体 设置标题的