自定义 XYJfree 图表中的条形颜色

2023-12-07

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

    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);

}

我可以按照我在程序中评论的那样设置宽度,但是我现在想要设置不同条形的颜色,例如我想抓住图表中的条形并为 array[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问题,评论中的新解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自定义 XYJfree 图表中的条形颜色 的相关文章

随机推荐

  • 在 Javascript 中,“d.setDate(d.getDate() + 1)”在时间更改的天数内给出错误答案

    我有以下代码 var d new Date 2016 03 27 console log d getDate d d setDate d getDate 1 console log d getDate d 这给出了错误的答案 27 Date
  • Parallel.Foreach 循环,与显式 throw 语句不一致的行为

    使用 Linqpad 创建了一个简单的程序 我在其中显式抛出异常Parallel Foreach循环 理想情况下应在调用者中捕获为Aggregate Exception 但是当我明确抛出异常时 它有时会随机跳过一些异常 我无法理解这种行为
  • 从 iPhone 上传视频文件到服务器

    我知道如何将图像上传到运行 PHP 的服务器 但我一直坚持上传视频 我用过这个建议上传我的视频文件 发帖方法都可以 我在服务器上得到的是一个0字节的文件 我的代码如下 void imagePickerController UIImagePi
  • Jupyter Notebook 中使用 cython 进行线路分析

    我正在尝试在 jupyter 笔记本中使用 liner profiler 库和 cython 函数 它只工作了一半 我得到的结果仅包含函数的第一行 没有分析结果 cython a cython linetrace True cython b
  • 在T-SQL中生成随机字符串[重复]

    这个问题在这里已经有答案了 可能的重复 使用 T SQL 生成随机字符串 我需要在触发器内生成一个带有字母和数字字符的随机字符串 该字符串的长度必须为 15 并且大写 有人有主意吗 这远非最佳解决方案 但它会按指定方式工作 select c
  • 从 PHP 内部进行 SFTP

    我正在构建一个 Web 应用程序 除了其他功能外 它还需要连接到 FTP 服务器来下载或上传文件 该应用程序是用 PHP 编写的 托管在 Linux 服务器上 我想知道是否也可以提供对 SFTP 服务器的支持 但在 Google 上快速搜索
  • 在 jQuery 中,当单选按钮都具有相同名称时,如何获取它们的值?

    这是我的代码 table tr td Sales Promotion td td td tr table
  • 通用列表属性的必需属性

    是否可以将 Required 属性放到 List 属性上 我绑定到 POST 上的通用列表 想知道如果属性中有 0 个项目 是否可以使 ModelState IsValid 失败 添加Required列表样式属性的属性并不能真正实现您想要的
  • 我尝试安装 React Native 并构建失败

    我尝试安装 React Native 但构建失败 为什么 Windows PowerShell 版权所有 C 微软公司 版权所有 尝试新的跨平台 PowerShellhttps aka ms pscore6 PS C Users stefa
  • Java RMI 中的代码库到底有什么意义?

    我目前正在学习 RMI 我不太理解代码库的概念 我读到的每篇论文都表明 调用远程对象的客户端可以从代码库加载方法定义 现在的问题是 我的类路径中是否不需要描述 接口 如果我只在运行时知道远程对象上的方法 我如何调用它们 这甚至无法编译 我完
  • 为什么我们需要在内联汇编中修改寄存器列表?

    我的指南书中写道 在内联汇编中 Clobered 寄存器列表用于告诉 我们正在使用的寄存器的编译器 因此它可以在之前清空它们 那 我完全不明白 为什么编译器需要知道这一点 保留这些寄存器有什么问题 他们的意思是备份它们并在汇编代码之后恢复它
  • 如何在列出另一个文件之前清除列表文件?

    function listFiles var x document getElementById ResultShown value var date new Date date setDate date getDate 180 var n
  • 如何在集成测试中测试Mongo索引?

    我有一个 Java 方法 它在 Mongo 集合中的两个字段上创建索引 我应该获取集合的索引信息 然后检查索引的名称和字段是否正确 为此编写集成测试最简洁的方法是什么 使用自定义 Hamcrest 匹配器来查看索引是否在集合中是否有意义 在
  • 如何从命令行运行路径中包含空格的 PowerShell 脚本?

    因此 我尝试了多种不同的方法来从命令行运行 PowerShell 脚本 但每种方法都会返回错误 这是这条路径 C Users test Documents test line space PS Script test ps1 我已经尝试过这
  • 带有 Influxdb 的 Grafana 世界地图面板不显示点

    我安装了 Grafana 的世界地图面板 但无法在世界地图面板上显示点 我在看Grafana 世界地图 表数据源和其他链接但没有找到答案 我尝试使用country json 添加截屏我的声誉没有 10 所以我无法添加超过 2 个链接 我也尝
  • 实际上从堆中为对象分配了多少内存?

    我有一个程序使用太多内存来在堆上分配大量小对象 所以我想研究一下优化它的方法 该程序使用Visual C 7编译 有没有办法确定为给定对象实际分配了多少内存 我的意思是当我打电话时new堆分配不小于必要的数量 我怎样才能知道到底分配了多少
  • 从 bash 脚本运行 makefile 命令并返回错误结果代码

    我有一个 python makefile 我可以从我的 bash 脚本运行它的命令 如下所示 local make lint output make lint output make test unit 2 gt 1 echo make l
  • 将 PHP 变量从一个页面传递到另一个页面,再传递到另一个页面 [重复]

    这个问题在这里已经有答案了 可能的重复 在 PHP 中将值从页面传递到另一个页面 例如 我有3页 第一页将是一个常规的 HTML 登录页面 将要求输入用户名 第二页将通过 POST 函数获取此用户名变量并分配一个 php 变量 例如 use
  • Worklight http 适配器问题

    2个简单的问题 通过 http 适配器发出的所有 http 请求是否都会首先通过 worklight 服务器 如果是这样 那么是否意味着即使是对公共网站的 http 适配器请求 例如对 yahoo 网站的股票价格请求 也会首先通过 work
  • 自定义 XYJfree 图表中的条形颜色

    如何用不同的颜色绘制不同的条形 我尝试使用渲染器 这是我的示例代码 public IntervalXYDataset createDataset throws InterruptedException parseFile final XYS