转载自  JFreeChart条形图

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

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

业务数据

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

汽车 速度 用户评价 公里数 安全性
Fiat 1.0 3.0 5.0 5.o
Audi 5.0 6.0 10.0 4.0
Ford 4.0 2.0 3.0 6.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

JFreeChart(三)之条形图相关推荐

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

    转载自   JFreeChart 3D饼图/条形图 三维/3D图表是那些显示在一个三维格式.可以使用这些图表来提供更好的显示效果和清晰的信息.三维/3D饼图是饼图另外一个不错的3D效果. 3D效果可以 ...

  2. 如何在html中自动生成条形图,css如何创建3D立体的条形图?

    本文介绍的创建立体条形图的示例,使用了透视和旋转的3D效果,而不仅仅是倾斜变换.结果是一个图表,可以从任何方向查看. 下面我们来一步一步介绍如何建立,示例代码在WebKit浏览器中效果最好,在Fire ...

  3. Java自动化邮件中发送图表(二)之JFreeChart

    一.JFreeChart库 JFreeChart是JAVA平台上的一个开放的图表绘制类库. JFreeChart可生成饼图(pie charts).柱状图(bar charts).散点图(scatte ...

  4. 数据分析学习笔记—matplotlib折线图、条形图、直方图、饼状图基础绘制

    文章目录 一.Matplotlib概念和基本属性设置思维导图 二.折线图基础绘制及代码中相关参数解析 1.代码 2.结果展示 3.Matplotlib图组件-官方 4.jupyter Notebook ...

  5. Python数据分析(四) —— 绘制横竖条形图

    条形图是用宽度相同的条形的高度或长短来表示数据多少的图形.用来绘制离散的数据,能够一眼看出各个数据的大小,比较数据之间的差异. 绘制一个简单的条形图与折线图的绘制方法也是大体一致,只需要把拟合方式pl ...

  6. Python数据可视化的例子——条形图(bar)

    1.matplotlib模块 应用matplotlib模块绘制条形图,需要调用bar函数,关于该函数的语法和参数含义如下: bar(x, height, width=0.8, bottom=None, ...

  7. Python数据科学库(三)

    Python数据科学库(三) 一.基本图形画法 (一)散点图 1.使用 2.参数 (二)折线图 1.使用 2.参数 3.案例 (三)条形图 1.使用 (1)水平条形图 (2)垂直条形图 2.参数 (四 ...

  8. matplotlib常见绘图基础代码小结:折线图、散点图、条形图、直方图、饼图

    一.折线图 二.散点图 三.条形图 四.直方图 五.饼图 一.折线图 折线图用于显示随时间或有序类别的变化趋势 from matplotlib import pyplot as pltx = rang ...

  9. 机器视觉系统设计关键:成像基准

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 1.导言 开发视觉系统的一个重要活动是验证其部署是否符合工程规范. ...

  10. json 数据 生成 图表_Python数据分析:手把手教你用Pandas生成可视化图表

    一: Pandas是什么? Pandas是一个强大的分析结构化数据的工具集:它的使用基础是Numpy(提供高性能的矩阵运算):用于数据挖掘和数据分析,同时也提供数据清洗功能. 利器之一:DataFra ...

最新文章

  1. RzPageControl 关闭按钮
  2. float gpu 加速_tensorflow - GPU 加速
  3. ExtJs4之常用函数
  4. UA MATH566 统计理论8 用Pivot构造置信区间
  5. Educational Codeforces Round 81 (Rated for Div. 2) D. Same GCDs 欧拉函数\莫比乌斯
  6. Python_大众点评网站数据爬虫
  7. ScriptManager和ClientScriptManager
  8. 智力问答选择题_儿童智力问答题带答案
  9. SQLEXPRESS服务无法启动
  10. android教师评价系统源码,教师评价系统
  11. 4*4矩阵键盘的扫描原理
  12. 【学习资料分享】光纤KVM坐席管理系统解决方案
  13. 使用表格制作流量查询表
  14. 企鹅CMS开源影视系统
  15. android 自定义锁屏凌驾于系统锁屏之上
  16. iOS MVVM + RxSwift 关键词zip 的调用时机问题
  17. python爱心代码简单教程
  18. 数值分析——自适应辛普森积分
  19. 在博客和Markdown和Python中自由添加emoji!包括博客标题和Python打印!
  20. 阿里巴巴Java岗位从P5-P7的成长笔记【总共3283页PDF文档】

热门文章

  1. [汇编语言]用[bx+idata]的方式进行数组的处理-字母大小写转换
  2. [Java基础]接口基础
  3. dotcpp1115 DNA-打印图案
  4. 二分+01分数规划+最大化平均值 Dropping tests POJ - 2976
  5. 数据结构与算法--经典10大排序算法(动图演示)【建议收藏】
  6. matlab中scrsz的意思,matlab图片c存储方法
  7. MATLAB读取文件夹及其所有子文件夹内的图像
  8. CF961G Partitions
  9. bzoj#4555. [Tjoi2016Heoi2016]求和
  10. [ZJOI2015]幻想乡 Wi-Fi 搭建计划(dp + 结论)