public String barChart() throws Exception{
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100, "北京", "苹果");
dataset.addValue(200, "上海", "苹果");
dataset.addValue(150, "广州", "苹果");
dataset.addValue(260, "北京", "梨子");
dataset.addValue(210, "上海", "梨子");
dataset.addValue(120, "广州", "梨子");
dataset.addValue(370, "北京", "葡萄");
dataset.addValue(310, "上海", "葡萄");
dataset.addValue(340, "广州", "葡萄");
dataset.addValue(410, "北京", "香蕉");
dataset.addValue(480, "上海", "香蕉");
dataset.addValue(400, "广州", "香蕉");
dataset.addValue(530, "北京", "荔枝");
dataset.addValue(500, "上海", "荔枝");
dataset.addValue(580, "广州", "荔枝");
JFreeChart jfree =
ChartFactory.createBarChart3D("水果产量图", "水果", "产量", dataset,
PlotOrientation.VERTICAL, true, true, false);
CategoryPlot categoryplot = (CategoryPlot) jfree.getPlot();
NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();
CategoryAxis domainAxis = categoryplot.getDomainAxis();
TextTitle textTitle = jfree.getTitle();
textTitle.setFont(new Font("黑体", Font.PLAIN, 20));
domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 14));
domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 16));
numberaxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 14));
numberaxis.setLabelFont(new Font("黑体", Font.PLAIN, 16));
jfree.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 16));
//path代表当前服务器上下文路径
String path = ServletActionContext.getRequest().getSession().getServletContext().getRealPath("/");
if(imgName==null || "".equals(imgName)){
imgName = "default";
}
//保存图片
ChartUtilities.saveChartAsJPEG(new File(path + "img/" + imgName + "Bar.jpg"), jfree, 535, 400);
return "success";
}
效果图在附件里
分享到:
相关推荐
通过调用不同的`ChartFactory`方法,我们可以轻松地创建不同类型的柱状图,如二维柱状图、三维柱状图、堆叠柱状图等。例如,要创建一个三维堆叠柱状图,可以使用`createStackedBarChart3D`方法。 ##### 4.2 自定义...
- 折线图(XY Plot):用于绘制二维坐标系中的数据。 - 甘特图(Gantt Chart):用于项目管理,展示任务的开始和结束时间。 2. **高度自定义**:JFreeChart 允许开发者定制图表的颜色、样式、标签、字体等细节,...
JFreeChart不仅支持基本的二维图表,还提供了3D图表功能,如3D柱状图和3D饼图。此外,它还能够生成SVG和PDF格式的输出,适用于报告和打印需求。通过结合其他库,如Swing和JavaFX,可以实现丰富的用户界面和动画效果...
JFreeChart 支持多种高级图表,如三维图表、Gantt 图、甘特图和时间序列图。例如,创建一个三维柱状图: 1. 使用 `ChartFactory.createBarChart3D()` 方法。 2. 调整 `CategoryPlot` 的 `RangeAxis3D` 和 `...
HTML5 Canvas是现代Web开发中用于动态画图的重要元素,它是一个二维绘图表面,可以通过JavaScript API进行操作。开发者可以使用Canvas API绘制线条、形状、图像,甚至复杂的动画。在Java Web应用中,服务器端的Java...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...