java - Jfreechart 中的动态饼图 - 如何设置颜色

标签 java jfreechart

我正在尝试使用 JFreeChart 绘制动态饼图。我不知道有多少部分会提前出现。我每秒都会收到更新图表的数据。

如何为图表的每个部分设置颜色?我不希望使用默认颜色。

我尝试过设置DrawingSupplier。不起作用。有人可以帮忙吗?

最佳答案

饼图的Plot可以转换为PiePlot它可以让你设置每个饼图的油漆颜色、轮廓颜色、阴影颜色等。这是为每个饼图设置颜色的小示例。如果碎片的数量大于数组中定义的颜色数量,那么它将重用这些颜色。

setSectionPaint 方法采用任何类型的 java.awt.Paint,因此您还可以传入渐变绘制等。

PieDataset dataset = ...
JFreeChart chart = ChartFactory.createPieChart("My Chart", dataset, false, true, false);

// all possible colors for each piece of the pie
Color[] colors = new Color[] { new Color(232, 124, 35),
        new Color(51, 109, 178), new Color(182, 52, 49),
        new Color(103, 131, 45), new Color(108, 77, 146),
        new Color(46, 154, 183), new Color(151, 64, 64) };

PiePlot plot = (PiePlot) chart.getPlot();
// set each sections inside paint
int i = 0;
for (Object key : dataset.getKeys()) {
    plot.setSectionPaint((Comparable) key, colors[i % colors.length]);
    i++;
}

关于java - Jfreechart 中的动态饼图 - 如何设置颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31083392/

相关文章:

java - JFreeChart 时间序列 RegularTimePeriod

java - 自动缩放字体以适合面板

java - 使用 jFreePanel 将年份添加到折线图上的 X 轴

java - 在jFreeChart直方图中配置两个范围轴

java - 导出至excel并显示图表

java - 如何获取 PDF 文件中链接的目标页面?

java - 启动 Tomcat 7.0 时出错

java - 尝试让简笔画在屏幕上移动,收到错误消息

java - xmlbeans 自动将生成的源文件和 xsb 文件中的类名大写

java - Spinner Android Studio 出现问题