我試圖在JFreeChart中實現具有特殊要求的a timeseries chart。我可以繪製圖表,但我不知道如何在圖表的最後一個值處實現垂直紅線。它應該總是在同一個地方,並且應該總是與最後一個值相交。將靜態網格線添加到JFreeChart時間序列圖表
我完全沒有想到如何做到這一點。我在想,它可能會作爲一個靜態網格線來實現,但我不知道如何指定一個。
此外,圖表的大小將是靜態的,所以有些迂迴的做法可以接受,希望不需要引入任何第三方庫。
我想要實現的圖像可以找到here。
謝謝。
我試圖在JFreeChart中實現具有特殊要求的a timeseries chart。我可以繪製圖表,但我不知道如何在圖表的最後一個值處實現垂直紅線。它應該總是在同一個地方,並且應該總是與最後一個值相交。將靜態網格線添加到JFreeChart時間序列圖表
我完全沒有想到如何做到這一點。我在想,它可能會作爲一個靜態網格線來實現,但我不知道如何指定一個。
此外,圖表的大小將是靜態的,所以有些迂迴的做法可以接受,希望不需要引入任何第三方庫。
我想要實現的圖像可以找到here。
謝謝。
嗯,我解決它使用標記。下面是它的代碼:
JFreeChart chart = ChartFactory.createTimeSeriesChart(...);
XYPlot plot = chart.getXYPlot();
Long timestampToMark = new Date().getTime();
Marker m = new ValueMarker(timestampToMark);
m.setStroke(new BasicStroke(2));
m.setPaint(Color.RED);
plot.addDomainMarker(m);
也許別人會覺得這個有用。
我只是設置一個自定義十字線的最後一個域值:
XYPlot plot = chart.getXYPlot();
plot.setDomainCrosshairVisible(true);
plot.setDomainCrosshairPaint(Color.red);
plot.setDomainCrosshairStroke(new BasicStroke(3f));
plot.setDomainCrosshairValue(dataset.getXValue(0, dataset.getItemCount(0) - 1));
如上所述,使用標記 – 2012-02-10 21:43:52
謝謝!我會試一試。 – trashgod 2012-02-10 23:30:22
+ +1爲更靈活的解決方案。 – trashgod 2012-02-17 01:36:05