3

ここに画像の説明を入力してください

写真で示したように、列ラベル(値434、2562、....)を少し上に移動します。それを構成する方法はありますか?私の最初の問題は、列の違いにより、最後の2列のラベルが表示されなくなったことです(実際には15と24、またはそのようなstgです)。私はそれを変える方法がわかりません。ありがとうございました

4

2 に答える 2

3

を使用できます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);

結果は次のとおりです。

棒の上にラベルが付いた棒グラフ3D

于 2013-01-16T12:07:30.937 に答える
1
CategoryPlot plot = (CategoryPlot) chart.getPlot();

BarRenderer renderer = (BarRenderer) plot.getRenderer();

renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.TOP_CENTER,TextAnchor.HALF_ASCENT_CENTER,0D));
于 2013-05-23T06:09:53.763 に答える