[英]How to show shapes at plot points with JFreeChart TimeSeries chart?
I'm using JFreeChart v1.0.19 to create the following time series chart:我正在使用 JFreeChart v1.0.19 创建以下时间序列图表:
...using the following code: ...使用以下代码:
final String chartTitle = "";
final XYDataset dataset = createDataset1();
final JFreeChart chart = ChartFactory.createTimeSeriesChart(
chartTitle, "Year End", "Turnover", dataset, true, false, false);
final XYPlot plot = chart.getXYPlot();
final NumberAxis axis2 = new NumberAxis("Cash");
axis2.setAutoRangeIncludesZero(false);
plot.setRangeAxis(1, axis2);
plot.setDataset(1, createDataset2());
plot.mapDatasetToRangeAxis(1, 1);
final StandardXYItemRenderer renderer1 = new StandardXYItemRenderer();
renderer1.setSeriesPaint(0, Color.blue);
renderer1.setSeriesShape(0, ShapeUtilities.createDiamond(5));
renderer1.setSeriesShapesFilled(0, true);
plot.setRenderer(0, renderer1);
final StandardXYItemRenderer renderer2 = new StandardXYItemRenderer();
renderer2.setSeriesPaint(0, Color.black);
renderer2.setSeriesShape(0, ShapeUtilities.createDiamond(5));
renderer2.setSeriesShapesFilled(0, true);
plot.setRenderer(1, renderer2);
chart.getPlot().setBackgroundPaint(Color.WHITE);
chart.getXYPlot().setDomainGridlinePaint(Color.LIGHT_GRAY);
chart.getXYPlot().setRangeGridlinePaint(Color.LIGHT_GRAY);
...but I can't get the data points to show shapes. ...但我无法让数据点显示形状。 Is this possible?
这可能吗?
It was my renderer that was the problem.这是我的渲染器的问题。 Changing from
StandardXYItemRenderer
to XYLineAndShapeRenderer
eg从
StandardXYItemRenderer
更改为XYLineAndShapeRenderer
例如
XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(true,true);
...did the trick. ...成功了。 The two boolean args in the constructor are for switching on/off lines and shapes, respectively.
构造函数中的两个布尔参数分别用于打开/关闭线条和形状。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.