首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JFreeChart条形图自定义颜色?

JFreeChart条形图自定义颜色?
EN

Stack Overflow用户
提问于 2014-07-03 13:44:00
回答 4查看 20.9K关注 0票数 12

我在java中使用JFreeCharts创建一个条形图。我的问题很简单..。如何为条形图中的所有条形图选择自定义颜色?我不确定这种定制是否会在GradientPaint中完成。确定条形图颜色的代码示例如下:

代码语言:javascript
运行
复制
   final GradientPaint gp0 = new GradientPaint(
                    0.0f, 0.0f, Color.blue, 
                    0.0f, 0.0f, Color.blue
                );

我不知道这是不是适合自定义颜色的方式。基本上,我不知道GradientPaint是否正确。如果是的话,有人能让我知道如何编辑这段代码,使其成为自定义颜色而不是蓝色吗?

我不确定这是否有帮助,但是说自定义颜色的信息是

  • 色调: 142
  • 星期六: 109
  • Lum:126
  • 红色: 79
  • 绿色: 129
  • 蓝色: 189

有了这个方法可以定制图表的颜色吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-07-03 14:00:11

我已经有一段时间没有用jfreechart.Bud编写代码了,如果我确实记得,这是我为更改条形油漆而编写的代码;)。

代码语言:javascript
运行
复制
    CategoryPlot cplot = (CategoryPlot)chart.getPlot();
    cplot.setBackgroundPaint(SystemColor.inactiveCaption);//change background color

    //set  bar chart color

    ((BarRenderer)cplot.getRenderer()).setBarPainter(new StandardBarPainter());

    BarRenderer r = (BarRenderer)chart.getCategoryPlot().getRenderer();
    r.setSeriesPaint(0, Color.blue);

我正在查看我的第一个应用程序written.Im的代码,不确定它现在是否能工作。

为了将来我推荐谷歌或购买jfreechart.You的PDF指南,如果可能的话,找到所有的参考资料和样本there.Bud,跳到JavaFX,我强烈推荐它,在javafx中使用pain.To be honest.Implementing图表很容易,而且看起来更好;)

票数 19
EN

Stack Overflow用户

发布于 2014-07-08 19:48:38

代码语言:javascript
运行
复制
CategoryPlot plot = chart.getCategoryPlot();
BarRenderer renderer = (BarRenderer) plot.getRenderer();

// set the color (r,g,b) or (r,g,b,a)
Color color = new Color(79, 129, 189);
renderer.setSeriesPaint(0, color);

这将把所有的条形设置为特定的颜色。如果希望更改每一行的颜色(例如,对于堆叠条形图),则可以调用dataset.getRowCount() ( dataset类型为CategoryDataset ),以返回条形图中每一列所涉及的行数。然后,可以根据行的索引在renderer.setSeriesPaint()调用中对系列进行索引。

代码语言:javascript
运行
复制
for (int i = 0; i < dataset.getRowCount(); i++){
    switch (i) {
    case 0:
        // red
        color = new Color(255, 0, 0);
        break;
    case 1:
        // blue
        color = new Color(0, 0, 255);
        break;
    default:
        // green
        color = new Color(0, 255, 0);
        break;
    }
}
票数 5
EN

Stack Overflow用户

发布于 2017-05-06 06:41:20

使用JfreeChart在条形图中自定义颜色

代码语言:javascript
运行
复制
CategoryItemRenderer barColor = new CustomRenderer(new Paint[]{});
plot.setRenderer(barColor);

创建一个新的类名为CustomRenderer extends BarRenderer3D或选择BarRenderer

代码语言:javascript
运行
复制
class CustomRenderer extends BarRenderer3D {

    private Paint[] colors;
    public CustomRenderer(final Paint[] colors) {
        this.colors = colors;
    }

    public Paint getItemPaint(final int row, final int column) {
        if(column==0)
            return Color.blue;
        else if(column==1)
            return Color.CYAN;
        else  
            return Color.RED;
   }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24555380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档