有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java绘图,网格线位于XYDifferenceRanger顶部

我正在用JFreeChart制作(时间序列)山图。所以,我做了两个时间序列——数据1和所有范围值都为零的时间序列

  TimeSeriesCollection dataset2 = new TimeSeriesCollection();
  dataset2.addSeries(close); //my data series/
  dataset2.addSeries(zeroseries); /zero series/

然后,我用XYDifferenceRender用我想要的颜色填补了两个系列之间的空白

创建图表和设置渲染器的代码:

  final JFreeChart chart = garch_differencechart(url);//my method to create the chart//
  final ChartPanel chartPanel = new ChartPanel(chart);
  final XYPlot plot = (XYPlot) chart.getPlot();
  chart.setBackgroundPaint(Color.WHITE);
  plot.setBackgroundPaint(Color.WHITE);
  XYDifferenceRenderer renderer = new XYDifferenceRenderer();
  renderer.setPositivePaint(new Color(202, 225, 255));
  renderer.setSeriesPaint(0, new Color(72, 118, 255));
  renderer.setSeriesStroke(0, new BasicStroke(1.2f));
  plot.setRenderer(renderer);

设置网格线可见的代码:

 plot.setDomainGridlinesVisible(true);
 plot.setDomainGridlinePaint(new Color(234,234,234));
 plot.setDomainGridlineStroke(new BasicStroke(0.5f));


 plot.setRangeGridlinesVisible(true);
 plot.setRangeGridlinePaint(new Color(234,234,234));
 plot.setRangeGridlineStroke(new BasicStroke(0.5f));

enter image description here然而,渲染器覆盖了绘图的网格线(看起来网格线是在XYDifferenceEnder之前绘制的)

我怎样才能在XYDifferenceEnder上绘制网格线呢


共 (1) 个答案

  1. # 1 楼答案

    网格线显示在demosAPI中。一个sscce将是决定性的,但我怀疑你的网格和填充油漆只是需要更多的对比