- jfreechart/
- XYLineChart上多个XYSeries的ItemLabelPosition-JFreeChart
XYLineChart上多个XYSeries的ItemLabelPosition-JFreeChart
XYLineChart上多个XYSeries的ItemLabelPosition-JFreeChart,jfreechart,Jfreechart,我试图找出如何控制一个XYLineChart的2个不同XYSeries的标签。例如,我有一个直线系列显示房屋的实际市场价值,另一个直线系列显示最大评估价值。但是,行上的某些标签重叠。我能够通过访问XYItemRenderer和ItemLabelPosition来控制线的整体标记,但这是一个整体。我需要调整每一行上的标签。有什么建议吗?谢谢。您可以使用渲染器的方法控制每个系列标签的可见性。使用查看的JCheckBox,或查看的JComboBox,允许用户根据需要调整可见性。使用坚持用户的选择。非常
我试图找出如何控制一个XYLineChart的2个不同XYSeries的标签。例如,我有一个直线系列显示房屋的实际市场价值,另一个直线系列显示最大评估价值。但是,行上的某些标签重叠。我能够通过访问XYItemRenderer和ItemLabelPosition来控制线的整体标记,但这是一个整体。我需要调整每一行上的标签。有什么建议吗?谢谢。您可以使用渲染器的方法控制每个系列标签的可见性。使用查看的JCheckBox
,或查看的JComboBox
,允许用户根据需要调整可见性。使用坚持用户的选择。非常感谢您的帮助。你给我指明了正确的方向。下面是我用来控制项目标签位置的过程
获取抽象XYItemRenderer
获取ItemLabelPosition并自定义
使用AbstractXYItemRenderer的setSeriesPositionItemLabelPosition方法设置位置
final AbstractXYItemRenderer xyRenderer=(AbstractXYItemRenderer)this.chart.getXYPlot().getRenderer()
最终ItemLabelPosition p1=新的ItemLabelPosition(ItemLabelAnchor.OUTSIDE12,TextAnchor.TOP_CENTER,TextAnchor.TOP_CENTER,-Math.PI/4);
xyRenderer.setItemLabelAnchorOffset(6.5);
xyRenderer.setSeriesiteMLabelPoint(1,Color.BLUE);
xyRenderer.setSeriesPositiveItemLabelPosition(1,p1)
最终ItemLabelPosition p2=新的ItemLabelPosition(ItemLabelAnchor.OUTSIDE6,TextAnchor.BOTTOM_居中,TextAnchor.BOTTOM_居中,-Math.PI/4);
xyRenderer.setItemLabelAnchorOffset(-8.5);
xyRenderer.SetSeriesiteMLabelPoint(0,颜色.RED);
xyRenderer.setSeriesPositiveItemLabelPosition(0,p2)