JFreeChart Legend Display
На графиках временных рядов JFreeChart я нахожу линии легенд тонкими, чтобы точно видеть цвет. Еще один пост [jfreechart - изменить образец цветов в легенде ] suggested overriding a renderer method as follows:
renderer = new XYLineAndShapeRenderer()
{
private static final long serialVersionUID = 1L;
public Shape lookupLegendShape(int series)
{
return new Rectangle(15, 15);
}
};
этот подход работает нормально, пока вы не сделаете то, что я сделал
renderer.setSeriesShapesVisible(i, false);
Как только я это сделал, легенда возвращается к линии. Есть ли способ обойти это?
The solution I adopted is close to that suggested by TrashGod Я переопределил метод getLegendItem (), перенеся форму легенды в нужное поле.
renderer = new XYLineAndShapeRenderer()
{
private static final long serialVersionUID = 1L;
public LegendItem getLegendItem(int datasetIndex, int series)
{
LegendItem legend = super.getLegendItem(datasetIndex, series);
return new LegendItem(legend.getLabel(), legend.getDescription(), legend.getToolTipText(), legend.getURLText(), Plot.DEFAULT_LEGEND_ITEM_BOX, legend.getFillPaint());
}
};