JFreeChart主要用来各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。当前JFreeChart最新版本是1.0.13,下面demo和刻度蜘蛛环图都基于此版本。
对于刻度蜘蛛环图,效果如下图,网上有一些例子,但是只有刻度,同时不能指定刻度最大值。最后没办法,只好自己改一个。
改的时候,决定新建一个chart类,通过继承JFreechart自带例子中的SpiderWebPlot类来实现,SpiderWebPlot类的demo效果见下图。
这个demo没有刻度,没有圆环。
整理一下所有要做的事情:
1.加入刻度,可自定义刻度数以及刻度的最大值,同时刻度值前后可以是加入单位符号,如百分号、美元符号、人民币符号等;
2.加入圆环,圆环的半径与刻度一一对应,有几个刻度,就有几个圆环
画刻度的代码直接参考了网上的例子,自己增加了刻度数、刻度最大值、单位符号的功能;然后画圆环的代码参考自一个demo,见下图,然后修改了相应的算法,确保与刻度对应,搞定。
在修改的过程中,还碰到了中文乱码问题。对与JFreechart中文乱码问题,网上搜素答案也是一大把,但都不能解决。最后还是跟踪了一下源代码,发现在创建JFreeChart对象的时候,默认应用了JFreechart提供的标准主题,其标准主题提供的文字是Tahoma,这个字体不支持中文,最后一次性的将其改为“宋体”解决了(如果不想修改JFreechart的代码,可能就需要在每个地方去单独设置这些参数了)。在JFreechart中,调用这个标准主题的代码都是在创建jfreechart对象的代码中,如demo代码中的createChart方法的ChartUtilities.applyCurrentTheme(jfreechart);语句,以及工厂类ChartFactory的createPolarChart方法中currentTheme.apply(chart);语句。
/**
* Creates a new default instance.
*
* @param name the name of the theme (<code>null</code> not permitted).
*/
public StandardChartTheme(String name) {
if (name == null) {
throw new IllegalArgumentException("Null 'name' argument.");
}
this.name = name;
/将四个Tahoma改成系统支持的中文字体即可,如宋体
this.extraLargeFont = new Font("Tahoma", Font.BOLD, 20);/
this.largeFont = new Font("Tahoma", Font.BOLD, 14);
this.regularFont = new Font("Tahoma", Font.PLAIN, 12);
this.smallFont = new Font("Tahoma", Font.PLAIN, 10);
this.titlePaint = Color.black;
......
}
总结一下,由于自己对JAVA画图绘图的API一窍不通,所以才用了这样的思路去改;在改的过程中,发现都是通过修改绘图的方法实现这些功能的,如果自己熟悉JAVA画图绘图的API,其实,拿到第一个demo的时候基本上就可以直接改了。
附件是刻度蜘蛛环图和demo的源码。
- 大小: 49.2 KB
- 大小: 14.8 KB
- 大小: 20.2 KB
分享到:
相关推荐
JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的图表,包括柱状图、饼图、线图、散点图以及我们今天关注的雷达图(也称为蜘蛛网图)。在Java应用程序中,JFreeChart提供了丰富的API,使得开发者能够...
JFreeChart是一款强大的Java图形库,它允许开发者创建各种复杂的图表,包括我们这里关注的雷达图(也称为蜘蛛网图)。雷达图是一种多轴图表,常用于比较多个变量在同一尺度上的表现,或者展示数据在多个维度上的分布...
JFreeChart提供了一系列类和方法,用于创建各种类型的图表,如柱状图、折线图、饼图、环图、散点图等。在Java项目中,我们通常通过以下步骤来生成图表: 1. **引入依赖**:在项目中,我们需要添加JFreeChart的库...
JFreeChart是一款强大的Java图表库,它允许开发者在Java应用程序或网页中创建多种类型的图表,包括雷达图(也称为蜘蛛网图)。本篇将深入探讨如何利用JFreeChart生成雷达图以及相关的数据导出功能。 **雷达图的使用...
在Java编程领域,JFreeChart是一个非常流行的图表库,它允许开发者创建各种复杂的数据可视化图形,包括折线图、柱状图、饼图等。在本篇博客中,"JfreeChart画双Y轴折线图"的主题,将探讨如何使用JFreeChart库来创建...
jfreechart绘制的风速风向玫瑰图 jfreechart是Java中一个流行的图表库,它提供了许多种类的图表,包括柱状图、折线图、饼图、雷达图等。本文主要介绍如何使用jfreechart绘制风速风向玫瑰图。 首先,了解jfreechart...
JFreeChart 是一个开源的Java库,用于生成高质量的2D图表,如饼图、柱状图、线图、散点图以及更多类型。在Web应用程序中,JFreeChart可以帮助开发者将复杂的数据可视化,使用户能够更直观地理解数据信息。下面我们将...
JFreeChart 是一个强大的 Java 图表库,它允许开发者创建各种复杂的图表,包括股票市场中常见的K线图。在金融领域,K线图(也称为日本蜡烛图)是一种常用的技术分析工具,用于展示价格走势。本文将详细介绍如何使用 ...
JFreeChart是一组功能强大、灵活易用的Java绘图API,使用它可以生成多种通用性的报表,包括柱状图、饼图、曲线图、甘特图等。它能够用在Swing和Web等中制作自定义的图表或报表,并且得到广泛的应用。本文将通过引领...
使用JFreeChart创建图表.ppt
接下来,我们将详细介绍如何使用JFreeChart创建三种类型的图表:饼图、柱状图和线图。 ##### 1. 饼图 饼图通常用于展示数据占比情况,非常适合用来表示市场份额、销售占比等场景。使用JFreeChart创建饼图的基本...
例如,创建柱状图时,我们需要创建一个CategoryDataset对象,将数据填充到这个数据集中,然后通过CategoryPlot和JFreeChart工厂方法创建图表。 圆饼图的创建类似,但需要用到PieDataset,将数据以键值对的形式组织...
JFreeChart是一款强大的Java库,用于创建各种类型的图表,包括柱状图、饼图、线图、散点图等。在“JFreeChart混合图表演示”中,我们重点探讨如何利用JFreeChart来创建一个包含多种图表类型的混合图表,以提供更丰富...
在Java编程环境中,JFreeChart库是一个强大的工具,用于创建各种复杂的图表,包括柱状图、折线图和雷达图。这些图表对于数据可视化和数据分析非常有用,可以帮助开发者直观地展示大量信息。以下是对给定文件中每个...
在Java编程环境中,JFreeChart是一个非常流行的库,用于创建各种复杂的图表,包括线图、柱状图、饼图以及我们的焦点——雷达图。本文将深入探讨如何利用JFreeChart库来实现一个雷达图实例,这有助于数据可视化,特别...
JFreeChart的`PieChart`类支持创建饼形图,可以定制每个扇区的颜色、标签和工具提示。`PieDataset`接口用于存储数据,而`PiePlot`类则负责渲染饼图,允许我们调整切片的顺序、大小和动画效果。 **3. 柱状图** 柱状...