4

ダッシュ (-) を含む凡例項目を追加して、グラフの系列を示したいと考えています。提供されるデフォルトの形状は、Plot.DEFAULT_LEGEND_ITEM_CIRCLE と Plot.DEFAULT_LEGEND_ITEM_BOX のみです。Plot.DEFAULT_LEGEND_ITEM_LINE のようなものはありますか? 作成方法は?

4

1 に答える 1

6

独自の凡例項目ソースを作成できます。と呼ばれる表示する凡例に対応する要素のコレクションがあると仮定しますlegendKeys

class LineLegendItemSource implements LegendItemSource {
    public LegendItemCollection getLegendItems() {
     LegendItemCollection itemCollection = new LegendItemCollection();
     for (Comparable comparable : legendKeys) {
        Paint paint = // get the paint you want
        LegendItem item = new LegendItem("string to display", 
                                         "description", 
                                         "tooltip", 
                                         "url", 
                                         new Line2D.Double(0, 5, 10, 5), paint);
        itemCollection.add(item);
     }
     return itemCollection; 
  }
}

次に、チャートから古い凡例を削除し、新しい凡例を追加する必要があります。

JFreeChart chart = // your chart 
chart.removeLegend();
LegendTitle legend = new LegendTitle(new LineLegendItemSource());
chart.addLegend(legend);

ご覧のとおり、LegendItemコンストラクターは形を取るので、基本的にそこに好きなものを描くことができます。

于 2011-08-25T08:44:23.253 に答える