Я делаю (временные ряды) диаграмму moutain с помощью JFreeChart. Итак, я сделал 2 раза - данные один и один со всеми значениями диапазона равны нулю.Участок с сеткой на вершине XYDifferenceRenderer
TimeSeriesCollection dataset2 = new TimeSeriesCollection();
dataset2.addSeries(close); //my data series/
dataset2.addSeries(zeroseries); /zero series/
Затем я использовал XYDifferenceRenderer, чтобы заполнить промежуток между двумя сериями с моим желаемым цветом.
код, чтобы создать таблицу и установить рендерер:
final JFreeChart chart = garch_differencechart(url);//my method to create the chart//
final ChartPanel chartPanel = new ChartPanel(chart);
final XYPlot plot = (XYPlot) chart.getPlot();
chart.setBackgroundPaint(Color.WHITE);
plot.setBackgroundPaint(Color.WHITE);
XYDifferenceRenderer renderer = new XYDifferenceRenderer();
renderer.setPositivePaint(new Color(202, 225, 255));
renderer.setSeriesPaint(0, new Color(72, 118, 255));
renderer.setSeriesStroke(0, new BasicStroke(1.2f));
plot.setRenderer(renderer);
Код для установки GridLines видимым:
plot.setDomainGridlinesVisible(true);
plot.setDomainGridlinePaint(new Color(234,234,234));
plot.setDomainGridlineStroke(new BasicStroke(0.5f));
plot.setRangeGridlinesVisible(true);
plot.setRangeGridlinePaint(new Color(234,234,234));
plot.setRangeGridlineStroke(new BasicStroke(0.5f));
Однако визуализатор покрыты линии сетки сюжета (это, кажется, что линия сетки была окрашена перед XYDifferenceRenderer).
Как я могу получить участок с сеткой на вершине XYDifferenceRenderer?
@trashgold: Я редактировал вопрос! –
Да, в пространстве HSB эти цвета довольно близки, причем оба имеют очень низкую насыщенность. Чтобы получить линии сетки сверху, вам придется изменить порядок рендеринга, указанный в ['draw()') (http://www.jfree.org/jfreechart/api/javadoc/org/jfree/chart/plot/ XYPlot.html # начертить% 28java.awt.Graphics2D,% 20java.awt.geom.Rectangle2D,% 20java.awt.geom.Point2D,% 20org.jfree.chart.plot.PlotState,% 20org.jfree.chart.plot. PlotRenderingInfo% 29). – trashgod
@trashgold: Итак, я должен подклассифицировать XYPlot, чтобы переопределить метод draw()? Но я не могу найти какой-либо метод в классе JFreeChart для установки моего графика, например: chart.setPlot (// мой подкласс //)? –