问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

jfreechart柱状图 无法显示柱形数值

发布网友 发布时间:2022-04-08 19:33

我来回答

1个回答

热心网友 时间:2022-04-08 21:02

最近在一个网逻站,看了几篇文章,觉得很不错,转贴过来^_^不过,暂未贴完,这不允许贴太多,那的东东也不少,还可以申请xxx@weblogic.com.cn的邮箱^_^,大家也可以直接去看:http://www.weblogic.com.cn

一 最简单的例子

为了降低门槛,让大家心理有个底,先介绍一个简单的不能再简单的例子,图片中的各类属性都采用默认值。

这个 JSP 程序运行的结果如下图

【回贴】 [原创] 回复:用JFreeChart画统计分析柱状图(贰) 作者:拉萨狼 查看:0 回复:0

[第 2 楼] 发表于3/27/2005 12:4:16

二 柱状图高级特性

上面的程序简单,但生成的柱状图也很简单。更多的时候,我们可能需要不同的效果。 org.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);
上面代码产生的效果如下图,注意与图二的区别。
补充两个有用的方法
补充 org.jfree.chart.plot.CategoryPlot 的两个方法,这两个方法对所有类型的图表都有作用,因为在前面没有介绍,这里补充一下。
//设置地区、销量的显示位置
plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
上面代码产生的效果如下图,注意与图二的区别。

(未完待续……)大家也可以直接去http://www.weblogic.com.cn看完,还有图解。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
鲜榨橙汁的制作方法是怎样的? 女生心事长长,只想问问我们会有什么结果 我的劲客小钢炮,一路有你很安心,颜值还是挺高的 蓝牙耳机如何设置优先通话? 怎么设置蓝牙耳机的语言 宏碁TM4750-N4基本参数 宏碁TM4750-N4存储设备 虫草子实体固体饮料是阴性的材料吗需要放到冰箱里吗? 中外夫妻生的孩子有什么特点呢? 混血儿的智商怎么样?在外貌上有什么独特之处? 我有一张招商银行卡,想要进行销户必须到开户行办理么 小米手机音量调至最大,为啥还是没声音 为什么把小米所有音量调到最大就是没有声音? 求一篇一般货物买卖合同 那件事真让我难忘作文205 简易房屋买卖合同样本怎么写?谢谢!! 作文主题《那件事让我难忘》300字感动的 那件事让我难忘 作文 400字到500字 买卖合同简单一点的应该怎么写 那件事,让我难忘_作文 令我难忘的一件事情作文600字 怎样用EXCEL处理实验数据?高级点的 女生聊天发这个 怎样用excel汇总实验数据 excel中的除法如何实验 房屋买卖简易合同怎么写 《一件让我难忘的事》作文 excel怎么实验作图 如何用Excel来做数学实验? 那件事真让我难忘的作文450字以上 请问,银行卡的销户必须到开户行才能办理吗? 招行一卡通必须到开户银行销户吗? 为什么支付宝里面只有通过手机号码找到我? 苹果手机无卡时如何连接另一台手机打电话? 支付宝可以通过手机号找账号吗? 邮箱注册的支付宝怎么绑定手机号直接搜索号码别人就可以找到我 三星智能手机不插卡能打电话吗? - 信息提示 支付宝通过会员名通过邮箱通过手机号找到我这些功能都关闭以后为什么别人还能 豆皮热量多少 豆皮热量多少大卡 怎么可以让手机里有我手机号的人 在支付宝手机联系人里找不到我? 真的设置了之后就找不到我了吗? 在支付宝里为什么查不到我的手机号账户以前都可以为什么现在不可以了设置里隐私什么的都来了为什么不行? 100克豆皮多大 豆腐皮为什么热量高 4d9d电影区别 一个女人越没钱,越喜欢在朋友圈“炫耀”什么样的东西? 朋友圈关闭之后好友能看到我的照片吗? 请问微信朋友圈花钱看照片的功能怎么没有了? 石膏豆腐怎么点 ,比例是多少?