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);
上面代码产生的效果如下图,注意与图二的区别。
(未完待续……)大家也可以直接去看完,还有图解。
HostKvm是一家成立于2013年的国外主机服务商,主要提供VPS主机,基于KVM架构,可选数据中心包括日本、新加坡、韩国、美国、俄罗斯、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。商家本月针对香港国际机房提供特别7折优惠码,其他机房全场8折,优惠后2G内存香港VPS每月5.95美元起,支持使用PayPal或者支付宝付款。下面以香港国际(HKGlobal)为...
昔日数据怎么样?昔日数据新上了湖北十堰云服务器,湖北十堰市IDC数据中心 母鸡采用e5 2651v2 SSD MLC企业硬盘 rdid5阵列为数据护航 100G高防 超出防御峰值空路由2小时 不限制流量。目前,国内湖北十堰云服务器,首月6折火热销售限量30台价格低至22元/月。(注意:之前有个xrhost.cn也叫昔日数据,已经打不开了,一看网站LOGO和名称为同一家,有一定风险,所以尽量不要选择...
官方网站:点击访问华纳云活动官网活动方案:一、香港云服务器此次推出八种配置的香港云服务器,满足不同行业不同业务规模的客户需求,同时每种配置的云服务都有不同的带宽选择,灵活性更高,可用性更强,性价比更优质。配置带宽月付6折季付5.5折半年付5折年付4.5折2年付4折3年付3折购买1H1G2M/99180324576648直达购买5M/17331556710081134直达购买2H2G2M892444...
jfreechart为你推荐
youtube创始人比特币创始人到底是谁oledbdatareader根据输入信息读取数据库中的数据,总是在执行OleDbDataReader reader = cmd.ExecuteReader()时通不过,renderpartialrender farm 是什么意思avc是什么格式电厂AVC啥意思?暴力破解rar暴力破解rar,一个15位左右的密码,得用多长时间。(双核。2g内存)pat是什么格式photoshop填充图案是pat格式,需用什么软件打开?请高人指点,谢谢~gas是什么意思gc是什么意思啊?彩信平台请问彩信平台升级怎么改参数能告诉我具体步骤吗?100days英文的一百天怎么说pass是什么在英语里pass是什么意思
VPS之家 新加坡主机 kdata 回程路由 国外php空间 最好看的qq空间 ca4249 太原联通测速平台 ntfs格式分区 lol台服官网 吉林铁通 无限流量 web服务器搭建 美国凤凰城 我的世界服务器ip 网站防护 双十二促销 hdsky hdchina 中美互联网论坛 更多