我试图找出如何控制XYLineChart的2个不同XYSeries的标签。例如,我有一个系列显示房屋的真实市场价值,另一个系列显示最大评估值。但是,线条上的一些标签重叠。我可以通过访问XYItemRenderer和ItemLabelPosition来控制线条的整体标注,但这可以作为一个整体。我需要调整每条线上的标签。有什么建议?感谢。
答案 0 :(得分:1)
您可以使用渲染器方法setSeriesItemLabelsVisible()
控制每个系列的标签的可见性。使用JCheckBox
,看到here或JComboBox
,看到here,允许用户根据需要调整可见性。使用Preferences
保留用户的选择。
答案 1 :(得分:0)
非常感谢您的帮助。你指出我正确的方向。这是我用来控制项目标签位置的过程。
final AbstractXYItemRenderer xyRenderer =(AbstractXYItemRenderer)this.chart.getXYPlot()。getRenderer();
final ItemLabelPosition p1 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12,TextAnchor.TOP_CENTER,TextAnchor.TOP_CENTER, - Math.PI / 4); xyRenderer.setItemLabelAnchorOffset(6.5); xyRenderer.setSeriesItemLabelPaint(1,Color.BLUE); xyRenderer.setSeriesPositiveItemLabelPosition(1,p1);
final ItemLabelPosition p2 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE6,TextAnchor.BOTTOM_CENTER,TextAnchor.BOTTOM_CENTER, - Math.PI / 4); xyRenderer.setItemLabelAnchorOffset(-8.5); xyRenderer.setSeriesItemLabelPaint(0,Color.RED); xyRenderer.setSeriesPositiveItemLabelPosition(0,p2);