【问题标题】:JFreeChart background color setting is not respected不遵守 JFreeChart 背景颜色设置
【发布时间】:2019-12-27 11:37:49
【问题描述】:

在 JFreeChart 中,我使用 CategoryDatasetcreateLineChart 生成图表。看起来像这样:

由于某些轴的变化,我不得不切换到 XYLineAndShapeRenderer,现在图表如下所示:

请注意图表周围的灰色区域。我想把它改成透明的,或者至少是白色的,就像上面旧的一样。

我试过这样做:

chart.getPlot().setBackgroundPaint(Color.WHITE);

但它不起作用。

如何将背景更改为白色,并将情节的背景更改为灰色(就像在旧背景上一样?)

谢谢!

更新

我可以更新情节的背景,但不能更新 ChartPanel 的背景。

这是具有这些选项的图表:

lineChart.getPlot().setBackgroundPaint(Color.red);
chartPanel.setBackground(Color.yellow);

这里我想把黄色作为chartPanel的背景。

【问题讨论】:

  • here 显示的温度演示默认具有这些颜色;工厂应用标准图表主题。
  • 它们在不同的操作系统上看起来是否可能不同?这些照片取自 Tomcat Web 服务器。
  • 是的,或者不同的图表主题或不同版本的 [tag:jfreechart) 库本身;另请注意,图表和绘图可以有不同的背景颜色。
  • 好的,所以当我从 CategoryPlot 更改为 XYPlot 以及 XYLineAndShapeRenderer 时,背景颜色会更改为问题中显示。所以它仍然有效:我怎样才能要求 XYPlot 有灰色背景?

标签: jfreechart


【解决方案1】:

这是一个用户错误。图周围的灰色区域不是ChartPanel,而是JFreeChart 本身。图表和绘图背景可以单独设置,例如:

lineChart.setBackgroundPaint(Color.pink);
plot.setBackgroundPaint(Color.cyan.darker());

完整的测试示例见here

【讨论】:

    猜你喜欢
    • 2011-10-07
    • 1970-01-01
    • 2014-10-17
    • 1970-01-01
    • 2023-03-25
    • 2017-07-07
    • 2010-09-17
    • 2018-07-15
    • 2014-09-04
    相关资源
    最近更新 更多