gpt4 book ai didi

java - 在 XYJfree 图表中自定义条形颜色

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:33:03 24 4
gpt4 key购买 nike

如何用不同的颜色绘制不同的条,我尝试使用渲染器,这是我的示例代码:

    public IntervalXYDataset createDataset() throws InterruptedException {
parseFile();
final XYSeries series = new XYSeries("Analysis");

int i=0;
while(parsedArray[i]!=0)
{

series.add(xaxisArray[i], yaxisArray[i]);

i++;
}

final XYSeriesCollection dataset = new XYSeriesCollection(series);

dataset.setIntervalWidth(0.15);//set width here

return dataset;
}

这就是我绘制图表的方式:

public className (final String title) throws InterruptedException {
super(title);
IntervalXYDataset dataset = createDataset();
JFreeChart chart = createChart(dataset);
final ChartPanel chartPanel = new ChartPanel(chart);
XYPlot plot = (XYPlot) chart.getPlot();
plot.getRenderer().setSeriesPaint( 0, Color.black);//0 works and paints all 40 bars in black, 1 and above fails.
// plot.getRenderer().setSeriesPaint( 1, Color.green);// this fails
chartPanel.setPreferredSize(new java.awt.Dimension(2000,1000));//(width,height) of display
setContentPane(chartPanel);

}

我可以按照我在我的程序中评论的那样设置宽度,但是我现在想为不同的条设置颜色,例如我想在图表中获取条并为数组 [0] 绘制红色和[3] 为蓝色,单元格 [17] 为橙色,你能指导我吗?非常感谢。


最佳答案

你要做的是:

XYPlot plot = (XYPlot) chart.getPlot();
plot.getRenderer().setSeriesPaint(1, Color.yellow);

将 1 替换为您要更改其颜色的条的(从零开始)索引。

编辑以回复评论:

List<Color> myBarColors = .....

XYPlot plot = (XYPlot) chart.getPlot();
XYItemRenderer renderer = plot.getRenderer();

for (int i = 0; i < 40; i++) {
renderer.setSeriesPaint(i, myBarColors.get(i));
}

编辑 2:被误解的 OP 问题,评论中的新解决方案。

关于java - 在 XYJfree 图表中自定义条形颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7419476/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com