1
我正在使用jfree圖表來圖形化地顯示metrics.Now我正在研究一個解決方案,它隨機化XY線圖中的圖表元素,使圖看起來更平滑。問題是我不想隨機元素以獲得與實際值相同的厚度,實際上我不會想要與它們相關的任何厚度。是否有選擇性指定點厚度的方法。我目前使用XYLineAndShapeRenderer來渲染點厚度。JFree圖選擇性點厚度
我正在使用jfree圖表來圖形化地顯示metrics.Now我正在研究一個解決方案,它隨機化XY線圖中的圖表元素,使圖看起來更平滑。問題是我不想隨機元素以獲得與實際值相同的厚度,實際上我不會想要與它們相關的任何厚度。是否有選擇性指定點厚度的方法。我目前使用XYLineAndShapeRenderer來渲染點厚度。JFree圖選擇性點厚度
您可以覆蓋getItemShapeVisible()
並安排它爲虛假點返回false
。您可以使用XYZDataset
的實施方式將決策所需的額外信息存儲在數據模型中。
作爲替代方案,請在呈現它之前考慮smoothing數據。這樣的過濾器通常導致更少的點,這簡化了渲染。
無論在哪種情況下,都應避免對數據造成混淆或誤導性更改。 A TextTitle
,顯示爲here,可以澄清結果。
附錄:getItemShapeVisible()
告訴你什麼和series
是item
考慮。默認實現只需要getSeriesShapesVisible()
。這裏有一個輪廓:
private static class MyRenderer extends XYLineAndShapeRenderer {
@Override
public boolean getItemShapeVisible(int series, int item) {
System.out.println(series + ":" + item);
if (item % 2 == 0) return false;
else return super.getItemShapeVisible(series, item);
}
}
附錄:下面是你可以安裝它:
XYPlot plot = chart.getXYPlot();
MyRenderer renderer = new MyRenderer();
plot.setRenderer(renderer);
感謝您的答覆,將嘗試它。但是是一個數據系列API的指標具體,或只是該指數。我應該如何實施。 – Madusudanan 2011-12-26 14:26:52
我已經詳細闡述過了。 – trashgod 2011-12-26 16:20:08
我已經更新了示例以跳過所有其他'Shape',不管系列如何。 – trashgod 2011-12-27 10:57:03