正如我在图片中所展示的,我想将列标签(值为434、2562等)向上移动一点。有没有什么方法可以配置它?我的初始问题是由于列之间的差异,最后两列的标签不再可见(实际上它们是15和24或类似的)。我不知道如何更改。谢谢。
正如我在图片中所展示的,我想将列标签(值为434、2562等)向上移动一点。有没有什么方法可以配置它?我的初始问题是由于列之间的差异,最后两列的标签不再可见(实际上它们是15和24或类似的)。我不知道如何更改。谢谢。
BarRenderer3D.setSeriesPositiveItemLabelPosition
。 DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(51.0, "Series 1", "key1");
dataset.addValue(44.3, "Series 1", "key2");
// create the chart...
JFreeChart chart = ChartFactory.createBarChart3D("Demo","Category","Value",dataset,PlotOrientation.VERTICAL,false,true,false);
CategoryPlot plot = chart.getCategoryPlot();
CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setVisible(false);
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setUpperMargin(0.15);
BarRenderer3D renderer = (BarRenderer3D) plot.getRenderer();
CategoryItemLabelGenerator generator = new StandardCategoryItemLabelGenerator();
renderer.setSeriesItemLabelGenerator(0, generator);
renderer.setSeriesItemLabelsVisible(0, true);
renderer.setSeriesPositiveItemLabelPosition(0, new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12,TextAnchor.BASELINE_CENTER));
renderer.setItemLabelAnchorOffset(10);
CategoryPlot plot = (CategoryPlot) chart.getPlot();
BarRenderer renderer = (BarRenderer) plot.getRenderer();
renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.TOP_CENTER,TextAnchor.HALF_ASCENT_CENTER,0D));
renderer.setSeriesPositiveItemLabelPosition(0,new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_CENTER,TextAnchor.HALF_ASCENT_CENTER,0D));
。更改的方法已经变化,第一个参数为0表示第一列,第二次为1,以此类推。这对我有用。 - Aniket Kulkarni
ItemLabelDemo*.java
示例,这些示例可以在JWS演示中找到,还有在指南中提到的DrawStringDemo
。 - trashgod