java - XYline 图表 JFreeChart 中不同系列的不同颜色

标签 java jfreechart

我使用 JFreeChart 创建了 XY 折线图,它有两个数据集,我希望两条线的颜色不同。我尝试使用以下代码-

  XYPlot plot = chart.getXYPlot();
  XYItemRenderer xyir = plot.getRenderer();
  xyir.setSeriesPaint(0, Color.GREEN);
  plot.setDataset(0, xyDataset1);

  xyir.setSeriesPaint(1, Color.blue);
  plot.setDataset(1, xyDataset2);

我也试过使用下面的代码,我使用不同的渲染器(不知道这是否是正确的方法)-

  XYPlot plot1 = chart.getXYPlot();
  XYPlot plot2 = chart.getXYPlot();

  XYItemRenderer xyir1 = plot1.getRenderer();
  xyir1.setSeriesPaint(0, Color.GREEN);
  plot1.setDataset(0, xyDataset1);

  XYItemRenderer xyir2 = plot2.getRenderer();
  xyir2.setSeriesPaint(1, Color.blue);
  plot2.setDataset(1, xyDataset2);

在这两种情况下,它都以蓝色打印两行。 怎么了??有什么建议吗??

最佳答案

找到了解决方案,它对我有用,使用了两个不同的渲染器,之前我做得不对--

 XYPlot plot = chart.getXYPlot();
  plot.setDataset(0, xyDataset1);
  plot.setDataset(1, xyDataset2);
  XYLineAndShapeRenderer renderer0 = new XYLineAndShapeRenderer(); 
  XYLineAndShapeRenderer renderer1 = new XYLineAndShapeRenderer(); 
  plot.setRenderer(0, renderer0); 
  plot.setRenderer(1, renderer1); 
  plot.getRendererForDataset(plot.getDataset(0)).setSeriesPaint(0, Color.red); 
  plot.getRendererForDataset(plot.getDataset(1)).setSeriesPaint(0, Color.blue);

关于java - XYline 图表 JFreeChart 中不同系列的不同颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10124079/

相关文章:

java - 在 jFreechart 中获取我的系列的坐标

java - 将 JFreeChart 添加到 JPanel

java - SQLite 数据库应用程序不断崩溃

java - OSGI - 跨包的静态方法调用

java - 使用 jfreechart 绘制音频信号(幅度与时间)

java - JPanel 内可调整大小的 JFreeChart

java - 如何从 JFreeChart 中的 X 值获取 Y 值

java - 我无法从 jframe 调用我的方法

java - 枚举定义中的静态上下文

java - Maven错误: diamond operator is not supported in -source 1. 6