我正在尝试找出如何控制一个XYLineChart的两个不同XYSeries的标签。例如,我有一个显示房屋实际市场价值的线列,另一个显示最大评估价值的线列。但是,这些线上的一些标签会重叠。我能够通过访问XYItemRenderer和ItemLabelPosition来控制行的整体标签,但这可以作为一个整体工作。我需要调整每一行的标签。有什么建议吗?谢谢。
发布于 2014-08-07 10:08:19
您可以使用渲染器的方法setSeriesItemLabelsVisible()控制每个系列标签的可见性。使用JCheckBox、seen here或JComboBox seen here,以允许用户根据需要调整可见性。使用Preferences持久化用户的选择。
发布于 2014-08-13 23:49:27
非常感谢你的帮助。你给我指出了正确的方向。下面是我用来控制商品标签位置的过程。
使用AbstractXYItemRenderer的AbstractXYItemRenderer
final AbstractXYItemRenderer xyRenderer = (AbstractXYItemRenderer) this.chart.getXYPlot().getRenderer();
xyRenderer.setSeriesPositiveItemLabelPosition(1,ItemLabelPosition p1 =xyRenderer.setSeriesPositiveItemLabelPosition(1,ItemLabelPosition(ItemLabelAnchor.OUTSIDE12,TextAnchor.TOP_CENTER,TextAnchor.TOP_CENTER,- Math.PI / 4);xyRenderer.setItemLabelAnchorOffset(6.5);xyRenderer.setSeriesItemLabelPaint(1,Color.BLUE);new p1);
xyRenderer.setSeriesPositiveItemLabelPosition(0,ItemLabelPosition p2 =xyRenderer.setSeriesPositiveItemLabelPosition(0,ItemLabelPosition(ItemLabelAnchor.OUTSIDE6,TextAnchor.BOTTOM_CENTER,TextAnchor.BOTTOM_CENTER,- Math.PI / 4);xyRenderer.setItemLabelAnchorOffset(-8.5);xyRenderer.setSeriesItemLabelPaint(0,Color.RED);新建p2);
https://stackoverflow.com/questions/25150426
复制相似问题