耿老师教你学Java:图图学开源JFreeChart第1回《第一个柱图》
创始人
2025-02-15 08:42:43
0

图图学开源JFreeChart(共计29回)

作者 耿祥义

摘 要

《图图学开源JFreeChart》分成29回(34个实例),每回学习的知识点都很专一,通俗易懂,图文并茂,例子选取恰当、易于掌握所支撑的知识点。分别讲解了 柱图、JFreeChart框架的MVC结构饼图折线图函数图散点图面积图甘特图

目 录

前 言

可能有人认为使用AI大模型也可以绘制一些静态的Chart(图表),但这需要有一套很好和专业提示词(开发这样一套提示词的成本也是一笔不小数目,而且测试这套提示词也是很大的工作量),而且不同AI 大模型或相同的AI 大模型对同样的提示词的每次回答未必相同,最担心的是,我们不清楚 大模型会在什么情况下“不靠谱”(大模型也许一直在变化)。如果专业学得好,就可以借助AI大模型提出更专业的提示词,也能更好的判断所得结果是否符合需求,即让 AI大模型作为自己的工具,并达到 如虎添翼的效果(把最好的 AI大模型给老虎 ,它也不会添翼)。

FreeChart是很优秀的图表库开源框架,有很好的官方维护网站,而且是免费的。JFreeChart框架非常小,开发者可以节约成本、很容易将JFreeChart部署到自己的开发的软件产品中,而且不会导致软件产品的臃肿。从某种意义上说,JFreeChart框架是真人做好的稳定可靠的“智能”产品,使用者可以大胆放心的使用之。和一些绘图软件或AI智能产品不同JFreeChart为用户提供的是非静态的 动态的Chart用户把 鼠标指针 在Chart的区域悬停 时可以观看Chart中某些数据的细节、用户可以使用文件动态生成Chart、用户可以借助Java Swing动态更新Chart等。 用户也可以 随时把满意的动态Chart保存到PDF或图像文件中得到静态的Char。

尽管JFreeChart框架非常小,但内容却非常丰富,初学者只需要掌握核心基础即可,如果初学者的Java基础比较好,特别是Java Swing或JavaFX的知识比较扎实,就能更加灵活的使用JFreeChart框架,这里我们也给出了 JFreeChart结合 Java Swing的有实际意义的例子,其 结合难度不超出《Java2实用教程第7版或第6版的第9章,第10章的内容》 也就是说JFreeChart框架本身只是提供基本的chart相关的类,应用的灵性和扩展依赖学习者的其他基础技能,比如,我们在第26回特意选择绘制绘制sin、cos,绘制椭圆,笛卡尔爱心曲线, 旋转椭圆、 旋转笛卡尔爱心曲线等。如果您重来没听说过三角函数,最后一回就有相当难度,如果了解 三角函数,最后一回就非常简单(再绘制任何平面图形都基本无困难,这也是框架的目的),即26回的目的是想说明难度已经不在 JFreeChart框架本身(基础扎实是硬道理)

这里是针对初学者讲解 JFreeChart框架一些基本的模块,特别是柱图、饼图和折线图(属于大众图,不需要有很多其他专业的知识),学习者最少的收益也是:“哦,有个基于Java的不错的框架叫JFreeChart”," 走一走,转一转,不学不要紧,了解一下也是亲"。学习者在后续的工作或学习中,就能比较轻松地根据其自身专业和实际项目需求、借助官方网站提供的API现学现用即可

学习 JFreeChart需要的JDK版本不能低于JDK8,这里使用的是JDK21。所有的源文件需要按 utf-8保存,然后直接编译即可(如果JDK版低于JDK21,所有的源文件可按ANSI保存,直接编译即可)。

考虑到公众号每天的发布次数只有1次,所以行文的特点是,按着《图图学开源JFreeChart》 分成29回(34个实例),每回学习的知识点都很专一,通俗易懂,图文并茂,例子选取恰当、易于掌握所支撑的知识点。 29回发表属性均为 原创,勿要抄袭另行发表或出版,转贴请标明出处( 编写不易,需要学习JFreeChart API)

《图图学开源JFreeChart》分别讲解了 柱图(13/29)、JFreeChart框架中的MVC思想(1/29),饼图(9/29)、折线图(2/29)函数曲线(XYLine)图(1/29),散点图(1/29)、面积图(1/29)、甘特图(1/29),如图1所示- 用第22回-“动态编辑饼图”编辑而成

图1 第22回-”动态编辑饼图“编辑而成

如果您还没有学习过Java语言,建议首先学习Java语言(特别是Java Swing的基础内容),自荐作者的教材:

,《Java2实用教程第7版》(或第6版)

Java面向对象程序设计第3版》

这是

图图学开源JFreeChart的第1回-《第一个柱图》,这回学习的主要内容是:

  • JFreeChart开源框架简介

  • 下载框架包

  • 代码与调试

一、 JFreeChart-开源框架简介

1. 官方网站:

https://www.jfree.org/jfreechart/download.html

https://sourceforge.net/projects/jfreechart/

JFreeChart 是一款完全基于 Java 的免费图表库, 支持广泛的图表类型,涵盖柱图、XYLine图(函数曲线)、折线图、饼图、散点图、面积图、甘特图等几十种 常见特殊的图表类型。 在一个复杂的商业数据分析系统中,既可以用柱图展示不同产品的销售数量对比,又可以用甘特图规划任务进度。它能让开发者轻松地在其应用程序中展示具有专业水准的图表。JFreeChart 的丰富功能包括:

  • 一套连贯且文档完善的应用程序编程接口(API),支持多种类型的图表;

  • 灵活的设计,易于扩展,适用于服务器端和客户端应用程序;

  • 支持多种输出类型,包括 Swing 和 JavaFX 组件、图像文件(如 PNG 和 JPEG 格式)以及矢量图形文件格式(如 PDF、EPS 和 SVG 格式);

JFreeChart 是开源框架,更确切地说是 免费框架。它遵循 GNU 宽通用公共许可证(LGPL)进行分发, 允许在专有应用程序中使用

2. 下载框架包

二、 代码与效果

将jfreechart-1.0.19.zip解压后的lib文件夹复制到C:\StudyChart,然后在命令行进入开发目录C:\JavaChart。(C:\StudyChart是作者使用的开发目录,您可以使用任何自己喜欢的开发目录或名称)。

例子1.1 选课人数柱图表( 效果如图1.1)

如下 编译运行代码。

C:\ StudyChart> javac-cplib\*;. barCharts\ FirstJfreeChart.java C:\ StudyChart> java-cplib\*;. barCharts.FirstJfreeChart

图1.1 选课人数柱图

FirstJfreeChart.java

packagebarCharts; importorg.jfree.chart.ChartFactory; importorg.jfree.chart.ChartFrame; importorg.jfree.chart.JFreeChart; importorg.jfree.data.category.DefaultCategoryDataset; publicclassFirstJfreeChart{ //返回一个柱图: publicstaticJFreeChart getBarChart{ // 步骤1,创建数据集并添加数据项: DefaultCategoryDataset dataset = newDefaultCategoryDataset; dataset.addValue( 100, "A10012", "Java"); //第1个参数100是bar的高度-数据的大小, dataset.addValue( 90, "A10012", "C++"); //第2个参数是bar的系列(series),同系列的bar的颜色相同。 dataset.addValue( 80, "A10012", "Python"); //第3个参数是bar的范畴(category)。 dataset.addValue( 60, "A10016", "JSP"); dataset.addValue( 30, "A10016", "SQL Server"); //步骤2:创建图表对象 JFreeChart barChart = ChartFactory.createBarChart( "选课人数柱状图", // 图的标题 "课程名称", // X轴(也称项目轴)标签上的名称 "选课人数", // Y轴(也称范围轴)标签上的名称 dataset // 图包含的数据集 ); returnbarChart; } publicstaticvoidmain(String[] args){ // 步骤3:创建绘barChart的窗口, ChartFrame是javax.swing.JFrame的子类 JFreeChart barChart = getBarChart; //返回一个柱图 ChartFrame frame = newChartFrame( "选课人数柱状图", barChart); frame.pack; frame.setVisible( true); } }

相关内容

热门资讯

华为全新 M-Pencil P...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! (来源:IT之家)I...
龙虎榜 |天宸股份上涨9.94... 7月18日,天宸股份上涨9.94%登上龙虎榜,日振幅值达15%,知名游资卖出。 龙虎榜显示,买入前五...
基准国债ETF(511100)... 7月18日,东方财富Choice终端显示,基准国债ETF(511100)报收109.8元,较昨日收盘...
淘宝闪购运营人士否认外卖&qu...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! (来源:北京商报)北...
北京电子商务协会发布共建即时零...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! (来源:每日经济新闻...