JFreeChart(三)之条形图

转载自  JFreeChart条形图

本章演示了如何使用JFreeChart从一个给定的业务数据创建条形图。

条形图使用不同的方位(水平或垂直)条,以显示不同类别的比较。图表中的一个轴(域轴)示出了特定的域进行比较,并在另一个轴(范围轴)表示的离散值。

业务数据

下面的例子描述了各种汽车用统计柱状图。以下是汽车品牌以及它们的不同特点,我们将展示使用一个条形图的列表:

汽车速度用户评价公里数安全性
Fiat1.03.05.05.o
Audi5.06.010.04.0
Ford4.02.03.06.0

基于AWT的应用

以下是对从上述给定的信息创建条形图的代码。此代码可以在AWT的应用程序嵌入一个条形图。

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel; 
import org.jfree.chart.JFreeChart; 
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset; 
import org.jfree.data.category.DefaultCategoryDataset; 
import org.jfree.ui.ApplicationFrame; 
import org.jfree.ui.RefineryUtilities; public class BarChart_AWT extends ApplicationFrame
{public BarChart_AWT( String applicationTitle , String chartTitle ){super( applicationTitle );        JFreeChart barChart = ChartFactory.createBarChart(chartTitle,           "Category",            "Score",            createDataset(),          PlotOrientation.VERTICAL,           true, true, false);ChartPanel chartPanel = new ChartPanel( barChart );        chartPanel.setPreferredSize(new java.awt.Dimension( 560 , 367 ) );        setContentPane( chartPanel ); }private CategoryDataset createDataset( ){final String fiat = "FIAT";        final String audi = "AUDI";        final String ford = "FORD";        final String speed = "Speed";        final String millage = "Millage";        final String userrating = "User Rating";        final String safety = "safety";        final DefaultCategoryDataset dataset = new DefaultCategoryDataset( );  dataset.addValue( 1.0 , fiat , speed );        dataset.addValue( 3.0 , fiat , userrating );        dataset.addValue( 5.0 , fiat , millage ); dataset.addValue( 5.0 , fiat , safety );           dataset.addValue( 5.0 , audi , speed );        dataset.addValue( 6.0 , audi , userrating );       dataset.addValue( 10.0 , audi , millage );        dataset.addValue( 4.0 , audi , safety );dataset.addValue( 4.0 , ford , speed );        dataset.addValue( 2.0 , ford , userrating );        dataset.addValue( 3.0 , ford , millage );        dataset.addValue( 6.0 , ford , safety );               return dataset; }public static void main( String[ ] args ){BarChart_AWT chart = new BarChart_AWT("Car Usage Statistics", "Which car do you like?);chart.pack( );        RefineryUtilities.centerFrameOnScreen( chart );        chart.setVisible( true ); }
}

保持BarChart_AWT.java文件中的Java代码,然后从命令提示符下编译并运行它,如下所示:

$javac BarChar_AWT.java 
$java BarChart_AWT 

如果一切顺利,它会编译并运行生成以下条形图:

 

JPEG创建图像

让我们重新写上面的例子中,使用命令行生成JPEG图像。

import java.io.*;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.chart.ChartUtilities;public class BarChart
{public static void main( String[ ] args )throws Exception {final String fiat = "FIAT";final String audi = "AUDI";final String ford = "FORD";final String speed = "Speed";final String millage = "Millage";final String userrating = "User Rating";final String safety = "safety";final DefaultCategoryDataset dataset = new DefaultCategoryDataset( );dataset.addValue( 1.0 , fiat , speed );dataset.addValue( 3.0 , fiat , userrating );dataset.addValue( 5.0 , fiat , millage );dataset.addValue( 5.0 , fiat , safety );dataset.addValue( 5.0 , audi , speed );dataset.addValue( 6.0 , audi , userrating );dataset.addValue( 10.0 , audi , millage );dataset.addValue( 4.0 , audi , safety );dataset.addValue( 4.0 , ford , speed );dataset.addValue( 2.0 , ford , userrating );dataset.addValue( 3.0 , ford , millage );dataset.addValue( 6.0 , ford , safety );JFreeChart barChart = ChartFactory.createBarChart("CAR USAGE STATIStICS", "Category", "Score", dataset,PlotOrientation.VERTICAL, true, true, false);int width = 640; /* Width of the image */int height = 480; /* Height of the image */ File BarChart = new File( "BarChart.jpeg" ); ChartUtilities.saveChartAsJPEG( BarChart , barChart , width , height );}
}

保存BarChart.java文件中如上面的Java代码,然后从命令提示符下编译并运行它,如下所示:

$javac BarChart.java 
$java BarChart 

如果一切顺利,它会编译并运行在当前的目录中创建JPEG图像文件namedBarChart.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/324167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET Core 快速入门(实战篇)

上篇讲了《asp.net core在linux上的环境部署》。今天我们将做几个小玩意实战一下。用到的技术和工具有mysql、websocket、AngleSharp(爬虫html解析)、nginx多站点部署。 NO1 留言板(mysql的使用) 演示:http://haojim…

P2053-修车【网络流,费用流】

前言 n和m搞反调半天系列 正题 AC记录链接: https://www.luogu.org/record/show?rid7949136 大意 又m个员工,n辆车,第j个员工修第i辆车需要T[i][j]的时间,求分配让顾客平均等待时间最短。 解题思路 首先先假设一个修车工要修…

走的走的居然飞起来了……

第一次坐飞机,终于满足了我的一个愿望了。记得之前在老家的山头上放羊时,远远的听到飞机想,我和我弟弟能把飞机目送到只剩下一条白线。。。。。一直在定睛观察飞机到底长啥样,那时候对于我们来说,能看见飞机的全面目就…

JFreeChart(四)之线型图

转载自 JFreeChart线型图 线图或折线图来显示信息为一系列由直线段连接的数据点(标记)。线图显示数据在相同的时间频率如何变化。本章从一个给定的业务数据演示如何使用JFreeChart创建线型图。 业务数据 下面的示例绘制折线图显示从1970年开始学校在不同年份开通数量。 给…

如何在Linux上使用VIM进行.Net Core开发

对于在Linux上开发.Net Core的程序员来说, 似乎都缺少一个好的IDE.Windows上有Visual Studio, Mac上有Visual Studio for Mac, 难道Linux只有Visual Studio Code了吗?Linux上有两个最好的编辑器: VIM和Emacs, 哪个更好不是这一篇的主题, 这一篇的主题是如何在Linux上简单的构建…

P2517-订货【网络流,费用流】

正题 AC链接: https://www.luogu.org/record/show?rid7949532 大意 有n个月,每个月商品价格di,需求量Ui。有容量为S的仓库,一个商品汇存一个月要m。求最低成本 解题思路 首先是月份做为点,成本作为费用&#xff0…

教学交流研讨会总结(一)

大家好,我是雄雄,欢迎关注公众号【雄雄的小课堂】。最近,我的个人站上线啦,大家可以直接在浏览器的地址栏中输入:穆雄雄.com,轻轻敲击回车,即可直接进入……

JFreeChart(五)之XY图

转载自 JFreeChart XY图 在xy图(散点图)是根据一个数据系列组成的x和y值的列表。每个值对(x,y)是坐标系中的一个点。这里1值确定水平(X)位置,而另一个确定垂直(Y)位置。本章演示了如何使用JFreeChart从一个给定的业务数据创建XY图表。 业务数据 考虑…

服务环境搭建

文章目录Nacos服务搭建一、nacos-server 环境搭建二、nacos-mysql 环境搭建三、建 领域模型REST访问配置(给其他语言使用)四、nacos-server 集群搭建Nacos服务搭建 一、nacos-server 环境搭建 1、 [nacos-server主机](考虑到后续开发的问题…

p2762-太空飞行计划问题【网络流,最大权闭合图,最小割】

正题 AC评测记录链接: https://www.luogu.org/record/show?rid7965757 大意 有nn个实验,有m" role="presentation">mm个实验器材的集合GG。完成第i" role="presentation">ii个实验可以获得cici元,第ii个实验需…

ASP.NET Core 源码学习之Logging[1]:Introduction

在ASP.NET 4.X中,我们通常使用 log4net, NLog 等来记录日志,但是当我们引用的一些第三方类库使用不同的日志框架时,就比较混乱了。而在 ASP.Net Core 中内置了日志系统,并提供了一个统一的日志接口,ASP.Net Core 系统以…

全国教学交流研讨会“教学为本”主题总结

大家好,我是雄雄,欢迎关注公众号【雄雄的小课堂】。最近,我的个人站上线啦,大家可以直接在浏览器的地址栏中输入:穆雄雄.com,轻轻敲击回车,即可直接进入……

JFreeChart(六)之3D饼图/条形图

转载自 JFreeChart 3D饼图/条形图 三维/3D图表是那些显示在一个三维格式。可以使用这些图表来提供更好的显示效果和清晰的信息。三维/3D饼图是饼图另外一个不错的3D效果。 3D效果可以通过添加一些额外的代码来实现,它会创建一个饼图3D效果。 3D饼图 请看下面的…

P2598-狼和羊的故事【最大流,最小割】

正题 评测记录: https://www.luogu.org/recordnew/lists?uid52918&pidP2598 大意 有n*m的矩阵,里面有羊和狼(也有可能是空),可以在两个格子之间围上篱笆让两个格子不能互相到达,要求狼的格子不能和羊的格子在同一个联通块…

.NET Core 2.0 正式发布信息汇总

万众瞩目的.NET Core 2.0终于发布了,原定于9.19的dotnetconf大会的发布时间大大提前了1个月,.NET Core 2.0/.NET Standard 2.0的正式发布是.NET 开源跨平台的一个重大里程碑, 可以激活庞大的10几年以来各大公司和社区.NET 平台上的投资&#…

JFreeChart(七)之气泡图表​​​​​​​

转载自 JFreeChart气泡图表 本章演示如何使用JFreeChart从一个给定的业务数据创建气泡图表。使用气泡图显示在三维方式的信息。气泡绘制在其中(x,y)坐标相交的地方。气泡的大小被认为是范围或X和Y轴的数量。 业务数据 考虑不同的人的年龄,体重和工作…

家校共建,用心教学

大家好,我是雄雄,欢迎关注公众号【雄雄的小课堂】。最近,我的个人站上线啦,大家可以直接在浏览器的地址栏中输入:穆雄雄.com,轻轻敲击回车,即可直接进入……

2018/7/6-纪中某C组题【jzoj1192,jzoj1397,jzoj1736】

前言 全体爆零,十分开心 正题 T1:矩阵 大意 就是N个矩阵,然后进行矩阵乘法(n∗mn∗m和m∗pm∗p的矩阵相乘就会变成n∗pn∗p的矩阵并且运算次数是n∗m∗pn∗m∗p),然后求最小乘法运算次数。 考试时 一直以为会是图论&#xff…

ASP.NET Core - Razor页面之Handlers处理方法

简介 在前一篇文章中,我们讨论了Razor页面。今天我们来谈谈处理方法(Handlers)。我们知道可以将代码和模型放在 .cshtml 文件里面或与 .cshtml 匹配的 .cshtml.cs 文件中。Razor页面处理程序或处理方法将用户请求匹配到我们的方法&#xff1…

JFreeChart(八)之时序图

转载自 JFreeChart时序图 时序图表显示的数据点在相等的时间间隔序列变化。本章演示了如何从一个给定的业务数据使用JFreeChart,建立时序图。 业务数据 让我们考虑通过使用标准 Java API 的 Math.random()产生的各种随机数。我们使用这些数字产生一个时间序列图…