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);
上面代码产生的效果如下图,注意与图二的区别。
(未完待续……)大家也可以直接去看完,还有图解。
有一段时间没有分享Gcore(gcorelabs)的信息了,这是一家成立于2011年的国外主机商,总部位于卢森堡,主要提供VPS主机和独立服务器租用等,数据中心包括俄罗斯、美国、日本、韩国、新加坡、荷兰、中国(香港)等多个国家和地区的十几个机房,商家针对不同系列的产品分为不同管理系统,比如VPS(Hosting)、Cloud等都是独立的用户中心体系,部落分享的主要是商家的Hosting(Virtu...
至今为止介绍了很多UCLOUD云服务器的促销活动,UCLOUD业者以前看不到我们的个人用户,即使有促销活动,续费也很少。现在新用户的折扣力很大,包括旧用户在内也有一部分折扣。结果,我们的用户是他们的生存动力。没有共享他们的信息的理由是比较受欢迎的香港云服务器CN2GIA线路产品缺货。这不是刚才看到邮件注意和刘先生的通知,而是补充UCLOUD香港云服务器、INTELCPU配置的服务器。如果我们需要他...
对于DMIT商家已经关注有一些时候,看到不少的隔壁朋友们都有分享到,但是这篇还是我第一次分享这个服务商。根据看介绍,DMIT是一家成立于2017年的美国商家,据说是由几位留美学生创立的,数据中心位于香港、伯力G-Core和洛杉矶,主打香港CN2直连云服务器、美国CN2直连云服务器产品。最近看到DMIT商家有对洛杉矶CN2 GIA VPS端口进行了升级,不过价格没有变化,依然是季付28.88美元起。...
jfreechart为你推荐
小明发布首页永久网站小明看看手机首页链接存储区域网络网络存储技术的SAN(存储区域网络)的优点snake模型什么是S-L头模型?pps官网pps官方下载,pps播放器下载listviewitem怎么获取ListView里Item中的控件webservice框架什么是webservice,什么情况下使用,如何使用网站客服代码怎么在网页用HTML代码设置QQ客服动画分镜头脚本动漫脚本和分镜头的区别?懂的进gbk内码怎么查GBK内码?怎么查微信注册时间怎么查对方的微信号什么时候注册的
深圳域名注册 免费linux主机 万网域名证书查询 互联网域名管理办法 域名商 56折 174.127.195.202 web服务器架设软件 全站静态化 权嘉云 linux空间 股票老左 ca187 国外的代理服务器 iki 永久免费空间 lamp架构 深圳域名 中国联通宽带测速 腾讯数据库 更多