jfreechartJFreeChart生成 柱线图 的方法
jfreechart 时间:2021-06-16 阅读:(
)
在eclipse下怎么使用jfreechart,详细步骤是什么啊?
有个jfreechart-1.0.12.jar要放到JRE中,jfreechart的版本可能不一样吧。
看你是什么版本的,反正要放进去。
以下是示例程序:
import java.awt.Font;
.jfree.chart.JFreeChart;
.jfree.chart.ChartFactory;
.jfree.chart.ChartFrame;
.jfree.chart.plot.PiePlot;
.jfree.chart.title.TextTitle;
.jfree.data.general.DefaultPieDataset;
public class JFreeChartTest {
public static void main(String[] args) {
DefaultPieDataset dpd = new DefaultPieDataset();
dpd.setValue("管理人员", 25);
dpd.setValue("市场人员", 25);
dpd.setValue("开发人员", 45);
dpd.setValue("其他人员", 5);
JFreeChart chart = ChartFactory.createPieChart("公司组织架构图", dpd, true, true, false);
Font font = new Font("SimSun", 10, 20);
TextTitle txtTitle = null;
txtTitle = chart.getTitle();
txtTitle.setFont(font);
PiePlot pieplot = (PiePlot) chart.getPlot();
pieplot.setLabelFont(font);
chart.getLegend().setItemFont(font);
ChartFrame pieFrame = new ChartFrame("公司组织架构图", chart);
pieFrame.pack();
pieFrame.setFont(font);
pieFrame.setVisible(true);
}
}jfreechart 配置 高手指点
请问你有没有使用IDE(集成开发功具)比如说:Eclipse或是Netbeans再或是JBuilder
如果你都没有使用,只是安装了JDK和JRE那就按如下方法去作吧!
1:jfreechart的安装文件你都备齐了没.它的官方提供的安装文件至少应该包括以下文件jfreechart_0.9.21.zip和mon-0.9.6.zip 这是我所用的版本号.现在估计都到1.0版本了.这里要说的是mon-0.9.6.zip这个安装文件必不可少.
把这两个压缩文件打开,找到我们所需要的三个重要jar文件.它们分别是mon-0.9.6.jar jfreechart-0.9.21.jar 和 gnujaxp.jar
不要多,也不要少.
2:把这三个文件.放在%JAVA_HOME%/lib中去,(这一步你也做了.)请检查你的JAVA_HOME这个环境变量设的对不对.它应该是JDK的安装根目录.拿我的为例,我的JDK安装目录为C:progJavajdk1.5.0_12.注意不是JRE的安装目录.
3:把此时三个文件所在的路径都放到CLASSPATH中去.以JDK安装目录为C:progJavajdk1.5.0_12为例.则需要在CLASSPATH这个环境变量后面附加上以下内容;C:progJavajdk1.5.0_12libjfreechart-0.9.21.jar;C:progJavajdk1.5.0_12libmon-0.9.6.jar;C:progJavajdk1.5.0_12libgnujaxp.jar;
检查你的有没有弄错.
4:最关键一步,如果你前三步都没有搞错,那好恭喜你了.你可能只是操作错误.
现在用一个程序来检验一下.我们刚才的安装.
(请务一定必确认你的JDK和JRE安装正常),办法就是进入命令行.在任何一个目录下
键入java -version并回车.如果返回的java版本信息正常.说明没有问题.
好了,下面测试开始.
在任何一个目录下(现在以C盘根目录下为例)建立一个文件名为PieChart.java文件(名字不要动.因为如下的java文件中类的名字就叫PieChart).内容如下
import java.io.*;
import java.awt.*;
.jfree.chart.*;
.jfree.chart.title.TextTitle;
.jfree.data.general.*;
public class PieChart{
public static void main(String[] args){
String title="老师情况统计";
DefaultPieDataset piedata = new DefaultPieDataset();
piedata.setValue("高级职称",25.5);
piedata.setValue("中级职称",44.1);
piedata.setValue("初级职称及其他",33.4);
JFreeChart chart =ChartFactory.createPieChart(title,piedata,true,true,true);
chart.setTitle(new TextTitle(title,new Font("宋体",Font.ITALIC,25)));
chart.addSubtitle(new TextTitle("最后更新日期:2005年8月5日",new Font("宋体",Font.ITALIC,20)));
chart.setBackgroundPaint(Color.white);
try{
ChartUtilities.saveChartAsJPEG(new File("C:\PieChart.jpg"),chart,600,600);
} catch (IOException exz)
{
System.out.print("Can't Creat image File");
}
}
}
保存.并进入命令行窗口,进入C盘根目录下
键入javac PieChart.java (注意是javac)
来编译这个java文件.
稍等一会儿便会在C盘根目录下生成一个PieChart.class文件.如果这一步成功.就没有问题了.
好了,再运行这个生成的class文件.
键入java PieChart (注意没有.class)
现在,大功告成,去C盘根目录里看一下吧,就会找到这个生成的图片文件---PieChart.jpg
如果,还有其它不明之处,请再与我联系.
其实,还是使用IDE比较方便.建议用Netbeans现在已经6.1版本了.个人认为比较好用.最重要的二点.根正苗好.是sun公司出的.而且是中文版.相信你以后会喜欢的.jfreechart中XYLineAndShapeRenderer 的 setDrawSeriesLineAsPath函数式什么意思,求中文详细解释
public void setDrawSeriesLineAsPath(boolean flag)
Sets the flag that controls whether or not each series is drawn as a single path and sends a RendererChangeEvent to all registered listeners.
设置是否把每个serie当做单独的路径进行绘制。
jfreechart需要用什么包?
看你这个图,并不是因为你没导入jfreechart.jar包造成的。
你这个代码意思是找不到该类(前面有叉号的)。
这个是jfreechart.jar的版本问题。
你用winran打开此包看看,在目标路径肯定没有对应的类包(.class文件)。
不同版本很可能在不同位置上,你在仔细找找吧,不行短JFreeChart生成 柱线图 的方法
最近在一个网逻站,看了几篇文章,觉得很不错,转贴过来^_^不过,暂未贴完,这不允许贴太多,那的东东也不少,还可以申请xxx@的邮箱^_^,大家也可以直接去看:
一 最简单的例子
为了降低门槛,让大家心理有个底,先介绍一个简单的不能再简单的例子,图片中的各类属性都采用默认值。
这个 JSP 程序运行的结果如下图
【回贴】 [原创] 回复:用JFreeChart画统计分析柱状图(贰) 作者:拉萨狼 查看:0 回复:0
[第 2 楼] 发表于3/27/2005 12:4:16
二 柱状图高级特性
上面的程序简单,但生成的柱状图也很简单。
更多的时候,我们可能需要不同的效果。
.jfree.chart.ChartFactory 这个工厂类有 createBarChart, createStackedBarChart, createBarChart3D, createStackedBarChart3D 这几个工厂方法创建不同类型的柱状图。
关于这四个方法的 JFreeChart 的 Java Doc API 文档有详细说明,比较重要的是 PlotOrientation.VERTICAL 让平行柱垂直显示,而 PlotOrientation.HORIZONTAL 则让平行柱水平显示。
几个对柱状图影响较大的几个类,它们分别是:
org.jfree.chart.axis.CategoryAxis
org.jfree.chart.axis.ValueAxis
org.jfree.chart.renderer.BarRenderer
org.jfree.chart.renderer.BarRenderer3D
我们还是以实例来说明这几个类,先来假设一个需要统计的数据表:
北京
上海
广州
成都
深圳
苹果
672
766
223
540
126
梨子
325
521
210
340
106
葡萄
332
256
523
240
526
根据上表数据,首先构造 CategoryDataset, 这里不再使用上面简单例子里面的 DefaultCategoryDataset 类,而是 DatasetUtilities 更有效的构造 CategoryDataset,如下列代码:
double[][] data = new double[][] {{672, 766, 223, 540, 126}, {325, 521, 210, 340, 106}, {332, 256, 523, 240, 526}};
String[] rowKeys = {"苹果","梨子","葡萄"};
String[] columnKeys = {"北京","上海","广州","成都","深圳"};
CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, data);
用上面的 dataset 生成的 3D 柱状图
org.jfree.chart.axis.CategoryAxis
CategoryAxis domainAxis = plot.getDomainAxis();
//设置 columnKey 是否垂直显示
domainAxis.setVerticalCategoryLabels(true);
//设置距离图片左端距离
domainAxis.setLowerMargin(0.1);
//设置距离图片右端距离
domainAxis.setUpperMargin(0.1);
//设置 columnKey 是否间隔显示
domainAxis.setSkipCategoryLabelsToFit(true);
plot.setDomainAxis(domainAxis);
上面代码产生的效果如下图,注意与图二的区别。
org.jfree.chart.axis.ValueAxis
ValueAxis rangeAxis = plot.getRangeAxis();
//设置最高的一个柱与图片顶端的距离
rangeAxis.setUpperMargin(0.15);
//设置最低的一个柱与图片底端的距离
//rangeAxis.setLowerMargin(0.15);
plot.setRangeAxis(rangeAxis);
上面代码产生的效果如下图,注意与图二的区别。
org.jfree.chart.renderer.BarRenderer3D
BarRenderer3D renderer = new BarRenderer3D();
renderer.setBaseOutlinePaint(Color.BLACK);
//设置 Wall 的颜色
renderer.setWallPaint(Color.gray);
//设置每种水果代表的柱的颜色
renderer.setSeriesPaint(0, new Color(0, 0, 255));
renderer.setSeriesPaint(1, new Color(0, 100, 255));
renderer.setSeriesPaint(2, Color.GREEN);
//设置每种水果代表的柱的 Outline 颜色
renderer.setSeriesOutlinePaint(0, Color.BLACK);
renderer.setSeriesOutlinePaint(1, Color.BLACK);
renderer.setSeriesOutlinePaint(2, Color.BLACK);
//设置每个地区所包含的平行柱的之间距离
renderer.setItemMargin(0.1);
//显示每个柱的数值,并修改该数值的字体属性
renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setItemLabelFont(new Font("黑体",Font.PLAIN,12));
renderer.setItemLabelsVisible(true);
上面代码产生的效果如下图,注意与图二的区别。
补充两个有用的方法
补充.jfree.chart.plot.CategoryPlot 的两个方法,这两个方法对所有类型的图表都有作用,因为在前面没有介绍,这里补充一下。
//设置地区、销量的显示位置
plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
上面代码产生的效果如下图,注意与图二的区别。
(未完待续……)大家也可以直接去看完,还有图解。
RAKsmart 虽然是美国主机商,但是商家的主要客户群还是在我们国内,于是我们可以看到每次的国内节日促销活动期间商家也会发布促销。包括这次年中大促活动,RAKsmart商家也有发布为期两个月的年终活动,其中有商家擅长的独立服务器和便宜VPS主机。服务器包括站群服务器、特价服务器、高达10G带宽不限制流量的美国服务器。商家优惠活动,可以看到对应商品的优惠,同时也可以使用 优惠码 RAKBL9 同时...
80vps怎么样?80vps最近新上了香港服务器、美国cn2服务器,以及香港/日本/韩国/美国多ip站群服务器。80vps之前推荐的都是VPS主机内容,其实80VPS也有独立服务器业务,分布在中国香港、欧美、韩国、日本、美国等地区,可选CN2或直连优化线路。如80VPS香港独立服务器最低月付420元,美国CN2 GIA独服月付650元起,中国香港、日本、韩国、美国洛杉矶多IP站群服务器750元/月...
gigsgigsCloud日本东京软银VPS的大带宽配置有100Mbps、150Mbps和200Mbps三种,三网都走软银直连,售价最低9.8美元/月、年付98美元。gigsgigscloud带宽较大延迟低,联通用户的好选择!Gigsgigscloud 日本软银(BBTEC, SoftBank)线路,在速度/延迟/价格方面,是目前联通用户海外VPS的最佳选择,与美国VPS想比,日本软银VPS延迟更...
jfreechart为你推荐
离线包怎样下载离线地图包?代发邮件我想做邮件代发,怎么做效果好?刷ip流量一天可以刷一万IP流量的软件webservice框架WebService新手,请教WebService需要什么包za是哪个国家的奥洛菲是哪个国家的yui3yui 3 月9日 出的专辑的情报怎么查微信注册时间怎么查对方的微信号什么时候注册的aviconverter跪求AVIConverter V1.0下载地址flex是什么Adobe旗下的软件分别是干什么的?flushesno-show rate是什么
海外域名 php网站空间 花生壳动态域名 安徽双线服务器租用 ix主机 精品网 海外服务器 l5520 shopex空间 realvnc 轻博 ssh帐号 大容量存储 柚子舍官网 jsp空间 hdd 七夕快乐英语 双12 跟踪路由命令 重庆电信服务器托管 更多