更改Jfreechart中图表的X轴起始值

2023-11-26

我正在计算图像红色分量的直方图并将其存储在 redhisto[] 中。数组的索引代表强度(0到255) 该值表示具有该强度的像素数。然后使用 JFreeChart 绘制这些值。

我的问题是:

  1. 如何让X轴的值从0开始。现在是从负数开始。
  2. Can we change the color of the bars in the graph Output Graph obtained code is :

     public class Histogram extends ApplicationFrame {
       public Histogram(final String title) throws IOException {
        super(title);
        IntervalXYDataset dataset = createDataset();
        JFreeChart chart = createChart(dataset);
        final ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
        setContentPane(chartPanel);
       }
    
      private IntervalXYDataset createDataset() throws IOException {
       BufferedImage imageA = ImageIO.read(new File("XYZ.bmp"));
       int[] red = new int[imageA.getHeight()*imageA.getWidth()];
       int[] redhisto = new int[256];
       int[] pixel;
       int k= 0;
       for (int y = 0; y < imageA.getHeight(); y++) {
          for (int x = 0; x < imageA.getWidth(); x++) {
            pixel = imageA.getRaster().getPixel(x, y, new int[3]);       
            red[k] = pixel[0];
            k++;
          }
       }        
    
       for(int x=0;x<red.length;x++){
           int y = red[x];
           redhisto[y]++;
        }
    
      final XYSeries series = new XYSeries("No of pixels");
      for(int i=0; i<redhisto.length;i++)
        series.add(i,redhisto[i]);
    
      final XYSeriesCollection dataset = new XYSeriesCollection(series);
      return dataset;
     }
    
     private JFreeChart createChart(IntervalXYDataset dataset) {
      final JFreeChart chart = ChartFactory.createXYBarChart("Color Intensity   Histogram","X",false,"Y",dataset,PlotOrientation.VERTICAL,true,true,false);
      XYPlot plot = (XYPlot) chart.getPlot();
      return chart;    
     }
    
     public static void main(final String[] args) throws IOException {
      final Histogram demo = new Histogram("Image Histogram");
      demo.pack();
      RefineryUtilities.centerFrameOnScreen(demo);
      demo.setVisible(true);
     }
    }
    

您可以更改域轴的下限并设置系列绘制,如下所示。默认XYBarPainter有渐变色高亮,所以我用了StandardXYBarPainter.

image

XYPlot plot = (XYPlot) chart.getPlot();
ValueAxis axis = plot.getDomainAxis();
axis.setLowerBound(0);
XYBarRenderer r = (XYBarRenderer) plot.getRenderer();
r.setBarPainter(new StandardXYBarPainter());
r.setSeriesPaint(0, Color.blue);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改Jfreechart中图表的X轴起始值 的相关文章

  • 清理码头 - 删除“不必要”的东西

    我习惯用Jetty http jetty codehaus org jetty 作为我的网络容器 我对我做了什么安装步骤得到原始的焦油球并且清理一些目录和文件从中 我在这里想提出的是 您通常从 Jetty 中删除什么以在生产 登台环境中使用
  • 使用 GWT CellTableBuilder 构建树表

    Is it possible to build a tree table like this http www sencha com examples ExamplePlace basictreegrid with the new Cell
  • “_加载小部件时出现问题”消息

    加载小部件时 如果找不到资源或其他内容 则会显示 加载小部件时出现问题 就这样 惊人的 此消息保留在主屏幕上 甚至没有说明加载时遇到问题的小部件 我通过反复试验弄清楚了这一点 但我想知道发生这种情况时是否有任何地方可以找到错误消息 Andr
  • 添加动态数量的监听器(Spring JMS)

    我需要添加多个侦听器 如中所述application properties文件 就像下面这样 InTopics Sample QUT4 Sample T05 Sample T01 Sample JT7 注意 这个数字可以多一些 也可以少一些
  • 如何在spring mvc中从控制器名称+操作名称获取映射的URL?

    是否有现有的解决方案可以从 Spring MVC3 中的 控制器名称 操作名称 获取映射的 URL 例如 asp net mvc 或 Rails 中的 UrlHelper 我觉得非常有用 thx 也许 你想要这样的东西 in your Co
  • 如果在睡眠线程上调用interrupt()会发生什么?

    我有一个线程 然后run I call sleep 如果我中断这个线程会发生什么 MyThread extends Thread public void run try sleep 1000000 catch InterruptedExce
  • 记录骆驼路线

    我的项目中有几个 Camel 上下文 如果可能的话 我想以逆向工程方式记录路线 因为我们希望保持与上下文相关的文档最新 最好的方法是什么 我们倾向于预先实际设计路线 并使用来自EIP book http www eaipatterns co
  • 如果使用的 JVM 是 x86 或 x64,则以不同的方式解决 Maven 依赖关系?

    我设置了一个 Maven 存储库来托管一些 dll 但我需要我的 Maven 项目根据使用的 JVM 是 x86 还是 x64 下载不同的 dll 例如 在运行 x86 版本 JVM 的计算机上 我需要从存储库下载 ABC dll 作为依赖
  • 内存一致性 - Java 中的happens-before关系[重复]

    这个问题在这里已经有答案了 在阅读有关内存一致性错误的 Java 文档时 我发现与创建 发生 之前 关系的两个操作相关的点 当语句调用时Thread start 每个具有 与该语句发生之前的关系也有一个 与 new 执行的每个语句之间发生的
  • 如何让spring为JdbcMetadataStore创建相应的schema?

    我想使用此处描述的 jdbc 元数据存储 https docs spring io spring integration docs 5 2 0 BUILD SNAPSHOT reference html jdbc html jdbc met
  • Git 无法识别重命名和修改的包文件

    我有一个名为的java文件package old myfile java 我已经通过 git 提交了这个文件 然后我将我的包重命名为new所以我的文件在package new myfile java 我现在想将此文件重命名 和内容更改 提交
  • Spring Security OAuth2简单配置

    我有一个简单的项目 需要以下简单的配置 我有一个 密码 grant type 这意味着我可以提交用户名 密码 用户在登录表单中输入 并在成功时获得 access token 有了该 access token 我就可以请求 API 并获取用户
  • 如何配置 WebService 返回 ArrayList 而不是 Array?

    我有一个在 jax ws 上实现的 java Web 服务 此 Web 服务返回用户的通用列表 它运行得很好 Stateless name AdminToolSessionEJB RemoteBinding jndiBinding Admi
  • Dispatcher-servlet 无法映射到 websocket 请求

    我正在开发一个以Spring为主要框架的Java web应用程序 特别使用Spring core Spring mvc Spring security Spring data Spring websocket 像这样在 Spring 上下文
  • 如何通过 Inno Setup for NetBeans 使用自定义 .iss 文件

    我将 Inno Setup 5 与 NetBeans 8 一起使用 并且我已经能够创建一个安装程序来安装该应用程序C users username local appname 但是我希望将其安装在C Programfiles 我如何在 Ne
  • 无法捕获 Spring Batch 的 ItemWriter 中的异常

    我正在编写一个 Spring Batch 流程来将数据集从一个系统迁移到另一个系统 在这种情况下 这就像使用RowMapper实现在传递给查询之前从查询构建对象ItemWriter The ItemWriter称为save我的 DAO 上的
  • Linux 上有关 getBounds() 和 setBounds() 的 bug_id=4806603 的解决方法?

    在 Linux 平台上 Frame getBounds 和 Frame setBounds 的工作方式不一致 这在 2003 年就已经有报道了 请参见此处 http bugs java com bugdatabase view bug do
  • 如何在 Quartz 调度程序中每 25 秒运行一次?

    我正在使用 Java 的 Quartz Scheduling API 你能帮我使用 cron 表达式每 25 秒运行一次吗 这只是一个延迟 它不必总是从第 0 秒开始 例如 序列如下 0 00 0 25 0 50 1 15 1 40 2 0
  • 解决错误javax.mail.AuthenticationFailedException

    我不熟悉java中发送邮件的这个功能 我在发送电子邮件重置密码时遇到错误 希望你能给我一个解决方案 下面是我的代码 public synchronized static boolean sendMailAdvance String emai
  • 在android中跟踪FTP上传数据?

    我有一个运行 Android 的 FTP 系统 但我希望能够在上传时跟踪字节 这样我就可以在上传过程中更新进度条 安卓可以实现这个功能吗 现在 我正在使用org apache common net ftp我正在使用的代码如下 另外 我在 A

随机推荐

  • $观察一个物体

    我想监视字典中的更改 但由于某种原因未调用监视回调 这是我使用的控制器 function MyController scope scope form name my name surname surname scope watch form
  • 是否可以终止正在运行的 Web Worker?

    我有一个网络工作人员使用 ajax 请求运行一项耗时的例行任务 我可以从主线程终止它们而不等待它们完成吗 这就是我生成和终止它的方式 button parse categories click function if parseCatego
  • 使用和不使用额外变量时的奇怪浮点行为,为什么?

    当我在 VC 2013 32 位 无优化 中运行以下代码时 include
  • C# 寻找相似颜色

    我想调用带有参数颜色的方法 但有很多颜色仅存在色度差异 我怎样才能找到与我的颜色只有一点点不同的颜色 例如 AntiqueWhite 和 Bisque Here s调色板 Bitmap LogoImg new Bitmap file1 jp
  • Android - 检测 URL mime 类型?

    在我的 Android 应用程序中 我有从数据库访问的各种 URL 然后打开 WebView 来显示该 URL 通常 该 url 看起来像这样 http www mysite com referral php id 12345 这些引荐链接
  • 将页面添加到活动管理

    我们想要向我们的管理添加一个帮助页面 并且我们正在使用活动管理 gem 此页面不与任何模型关联 因此我正在努力弄清楚如何让链接显示在每个页面的菜单栏中 我知道我有点晚了 但我通常都会迟到 D ActiveAdmin register pag
  • 禁用 EditText 闪烁光标

    有谁知道如何禁用闪烁的光标EditText view 您可以使用 xml 属性android cursorVisible false 或以编程方式 java view setCursorVisible false kotlin view i
  • 从 Java 调用 .NET 程序集:JVM 崩溃

    我有一个第三方 NET 程序集和一个大型 Java 应用程序 我需要从Java应用程序调用 NET类库提供的方法 该程序集不支持 COM 我已经在网上搜索过 到目前为止我有以下内容 C 代码 cslib cs using System na
  • 如何获取 30 天内的下一个最小日期并用作 SQL 中的参考点?

    我有一个记录子集 如下所示 ID DATE A 2015 09 01 A 2015 10 03 A 2015 10 10 B 2015 09 01 B 2015 09 10 B 2015 10 03 对于每个 ID 第一个最小日期是第一个索
  • 这个字符序列“\033[H\033[J””在 C 中起什么作用? [复制]

    这个问题在这里已经有答案了 我在一些随机网站上浏览过以下奇怪的字符序列 当编译并执行时 该序列清除了终端中所有先前的内容 它清除输出流中的缓冲区还是仅清除 tty 缓冲区 int main printf 033 H 033 J return
  • C# ping 我的世界

    所以找到了这个小代码片段 可以让你在 PHP 中 ping Minecraft 服务器 但现在我想在 C 中执行此操作 我尝试自己这样做 但由于某种原因它不起作用 UdpClient client new UdpClient IPEndPo
  • Python 比较 C API 中的对象

    给定两个PyObject s 我如何在 C API 中比较它们 我想到了a b起初 但这显然是不正确的 因为它会比较指针而不是对象 我在找a b not a is b Python C API 中的 Python 等效项 您正在寻找PyOb
  • mvn 测试因 Surefire JDK 版本而失败?

    我正在尝试在我的项目上运行 mvn test 项目本身编译并安装 但 man test 失败并显示以下输出 ERROR Failed to execute goal org apache maven plugins maven surefi
  • 使用Leaflet markcluster,如何在不更改缩放级别的情况下在集群和非集群之间切换?

    我正在使用Leaflet markercluster插件来聚集我的点 然而 用户要求具有在集群视图和非集群视图之间切换的功能 基本上 他们希望以高缩放比例查看所有点 我知道我可以在特定的缩放级别禁用聚类 markers new L Mark
  • 简单的 OpenGL 纹理贴图不起作用?

    我正在尝试找出 OpenGL 中的纹理映射 但无法找到一个简单的示例来工作 正在绘制多边形 尽管它没有纹理而只是纯色 此外 位图已正确加载到 sprite1 中 因为到目前为止我已成功使用 glDrawPixels 我使用 glGenTex
  • python:计算质心

    我有一个包含 4 列的数据集 x y z 和值 比方说 x y z value 0 0 0 0 0 1 0 0 0 2 0 0 1 0 0 0 1 1 0 1 1 2 0 1 2 0 0 0 2 1 0 0 2 2 0 0 我想计算质心CM
  • Python 赋值运算符左侧的多个变量

    有人可以解释一下逗号分隔链的概念吗 可能不是正确的术语 但我不想将其与list 赋值运算符左侧的变量名 我指的是具有以下性质的东西 reader csv reader open some file rb for row in reader
  • 将 GDAL/OGR 合并到 iOS 项目中 - 快速指南

    问题是这样的 GDAL是一个出色的开源库 旨在管理复杂的 GIS 数据 栅格数据和矢量数据 它完全是为Mac OS 由 William Kyngesburye 提供 和其他平台 但不适用于 iOS 浏览网络 您可以找到有关创建 iOS 库主
  • Python Killed:使用从 2 个 csv 文件创建的字典运行代码时为 9

    我正在运行一个一直对我有用的代码 这次我在 2 个 csv 文件上运行它 data 24 MB 和 data1 475 MB data 有 3 列 每列约 680000 个元素 而 data1 有 3 列 每列约 33000000 个元素
  • 更改Jfreechart中图表的X轴起始值

    我正在计算图像红色分量的直方图并将其存储在 redhisto 中 数组的索引代表强度 0到255 该值表示具有该强度的像素数 然后使用 JFreeChart 绘制这些值 我的问题是 如何让X轴的值从0开始 现在是从负数开始 Can we c