【问题标题】:How can I change one point size and show label in JFreeChart如何在 JFreeChart 中更改一个点大小并显示标签
【发布时间】:2018-05-17 02:44:51
【问题描述】:

如何在 JFreeChart 中更改一个点的大小/颜色并显示标签?通过这个ChartMouseListener,我可以让用户选择女巫点,我想把点设置成特殊的样式,比如变大或者改变颜色等。请帮助我如何做到这一点。

       chartPanel.addChartMouseListener(new ChartMouseListener() {

        @Override
        public void chartMouseMoved(ChartMouseEvent arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void chartMouseClicked(ChartMouseEvent arg0) {
            // TODO Auto-generated method stub
            JFreeChart chart = arg0.getChart(); 


            if (chart == null) 
                return; 

            XYItemEntity ce = (XYItemEntity) arg0.getEntity(); 
            if (ce == null) 
                return; 
            IntervalXYDataset my = (IntervalXYDataset) ce.getDataset(); 

            int sindex = ce.getSeriesIndex(); 
            int iindex = ce.getItem(); 

            //i want make change the selectted point in here. how to do this
            System.out.println("x = " + my.getXValue(sindex, iindex)); 
            System.out.println("y = " + my.getYValue(sindex, iindex)); 
        }
    });

【问题讨论】:

    标签: java swing jfreechart


    【解决方案1】:

    根据您选择的渲染器,应用合适的标签生成器并覆盖相关方法,以在行和列与您的ChartMouseListener 记录的相应系列和项目索引匹配时返回所需的形状和绘制属性。 XYLineAndShapeRenderer的具体情况,可以

    • 指定XYItemLabelGenerator,如图所示here。

    • 重写getItemShape()方法,如图here,

    • 重写getItemFillPaint()方法,如图here,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-03
      • 2014-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-30
      • 2021-07-25
      相关资源
      最近更新 更多