当前位置: 首页 > 面试题库 >

如何将颜色应用于单个系列图的单个条形?

何向荣
2023-03-14
问题内容

我是JFreeChart的新手,我正在尝试看看什么动作可以做什么。

在我的图表中,我只有一个系列,并且我希望-根据值设置-为柱形设置其他颜色。例如 : 0-20 -> RED, 20-80 -> YELLOW, 80-100 -> GREEN

CategoryPlot plot = chart.getCategoryPlot();
CategoryDataset dataset = plot.getDataset(0);

Number value = dataset.getValue(dataset.getRowKey(0), dataset.getColumnKey(0));
Double val = value.doubleValue();

if (val <= 20.0) {
    BarRenderer renderer = (BarRenderer) plot.getRenderer();
    Paint tmp = renderer.getItemPaint(row, column);

    /*
    ** Help Please
    */      
}

return chart;

这是我到达的地方,我被困在这里,真的不知道要去哪里。我在文档中看到Paint是一个接口,但是没有实现此接口的类都没有提供setXXX()方法。所以,我的两个问题是:

  • 如何为单个条形设置颜色?
  • 如何将其应用于图表?

问题答案:

您需要创建自己的BarRenderer和的子类getItemPaint()。无需根据列选择颜色,而是根据您的值选择颜色。这是显示现有BarRenderer工作原理的轮廓。

plot.setRenderer(new MyRender());
...
class MyRender extends BarRenderer {

    @Override
    public Paint getItemPaint(int row, int col) {
        System.out.println(row + " " + col + " " + super.getItemPaint(row, col));
        return super.getItemPaint(row, col);
    }
}


 类似资料:
  • 这是我生成10条不同颜色条的代码。我想分别添加图例,但它只显示黄色图例。我可以更改其颜色,但我想要3个图例。 我认为它只显示一种颜色,因为只有一个系列。是否可以为单个系列添加多个图例? 或者如果我可以将此图像作为图例添加到图表的左中 我需要如何在条形图中显示图像,或者如何为单个系列条形图创建3个不同的标签

  • 我有一个,它是一个全黑的小符号。正在我拥有的自定义子类中设置。是否有可能让图像对其应用,从而代替黑色图像将颜色更改为的任何颜色? 我只是想避免创造新的资产。

  • 我使用了如下内容:我为CellStyle设置了一个全局变量,并尝试为第4列中的所有单元格填充颜色。...... 顺便说一下,我使用HSSFWorkbook和HSSFSheet进行报告。 这样,它只是填充整个薄片,结果所有的细胞得到填充的石灰颜色!

  • 问题内容: 我可以将2个类应用于单个div或span或任何html元素吗?例如: 我尝试过,但在我的情况下,c2没有得到应用。我如何一次申请两个课程? 问题答案: 1)在class属性内使用多个类,以空格(ref)分隔: 2)要定位包含所有指定类的元素,请使用以下CSS选择器( 不带空格 )(ref):

  • 我希望这个图中的条形图有我自己选择的不同颜色。我不想使用随机的颜色为酒吧(或一组酒吧)。