package com.company.swing.jfreechart.cloud.test.demo3;
import java.awt.*;
import org.jfree.chart.*;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.ApplicationFrame;
/**
* 该类用于演示最简单的柱状图生成
*/
public class BarChartDemo extends ApplicationFrame {
public static void main(String[] args) {
BarChartDemo chart = new BarChartDemo("Main Panel Title!");
chart.pack();
chart.setMinimumSize(new Dimension(1200, 600));
chart.setPreferredSize(new Dimension(1200, 600));
chart.setVisible(true);
}
public BarChartDemo(String title) {
super(title);
JFreeChart chart = createChart();
this.setContentPane(new ChartPanel(chart));
//构造函数中自动创建Java的panel面板
}
public JFreeChart createChart() {
JFreeChart chart = ChartFactory.createBarChart3D(
"水果产量图", // 图表标题
"水果", // 目录轴的显示标签
"产量", // 数值轴的显示标签
getDataSet2(), // 数据集
PlotOrientation.VERTICAL, // 图表方向:水平、垂直
true, // 是否显示图例(对于简单的柱状图必须是false)
false, // 是否生成工具
false // 是否生成URL链接
);
/** ---------------------- 中文乱码问题处理 Start ------------------------------- */
CategoryPlot plot = chart.getCategoryPlot();
//获取图表区域对象
CategoryAxis domainAxis = plot.getDomainAxis();
//水平底部列表
domainAxis.setLabelFont(new Font("黑体", Font.BOLD, 14));
//水平底部标题
domainAxis.setTickLabelFont(new Font("宋体", Font.BOLD, 12));
//垂直标题
ValueAxis rangeAxis = plot.getRangeAxis();
//获取柱状
rangeAxis.setLabelFont(new Font("黑体", Font.BOLD, 15));
chart.getLegend().setItemFont(new Font("黑体", Font.BOLD, 15));
chart.getTitle().setFont(new Font("宋体", Font.BOLD, 20));
//设置标题字体
/** ---------------------- 中文乱码问题处理 End ------------------------------- */
return chart;
}
// 数据集构建
private static CategoryDataset getDataSet2() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100, "北京", "苹果");
dataset.addValue(100, "上海", "苹果");
dataset.addValue(100, "广州", "苹果");
dataset.addValue(200, "北京", "梨子");
dataset.addValue(200, "上海", "梨子");
dataset.addValue(200, "广州", "梨子");
dataset.addValue(300, "北京", "葡萄");
dataset.addValue(300, "上海", "葡萄");
dataset.addValue(300, "广州", "葡萄");
dataset.addValue(400, "北京", "香蕉");
dataset.addValue(400, "上海", "香蕉");
dataset.addValue(400, "广州", "香蕉");
dataset.addValue(500, "北京", "荔枝");
dataset.addValue(500, "上海", "荔枝");
dataset.addValue(500, "广州", "荔枝");
return dataset;
}
}
java调用swing生成柱状图
版权申诉
5星 · 超过95%的资源 127 浏览量
2022-06-20
06:19:40
上传
评论 1
收藏 1KB RAR 举报
歇歇
- 粉丝: 4160
- 资源: 65
最新资源
- IRF7103ITRPBF-VB一款2个N-Channel沟道SOP8的MOSFET晶体管参数介绍与应用说明
- Fine Report-JS跑马灯及日期频度和控件公式展示
- Go 进阶实战 100 题.pdf
- IRF7102TRPBF-VB一款2个N-Channel沟道SOP8的MOSFET晶体管参数介绍与应用说明
- 电子通信设计资料无线你我他-认识红外线接口
- Python3实现基数排序(源代码)
- IRF5803D2TRPBF-VB一款2个P-Channel沟道SOP8的MOSFET晶体管参数介绍与应用说明
- newrelic的2024 年 Java 生态系统状
- 学生通讯录管理系统.py
- IM4953G-VB一款2个P-Channel沟道SOP8的MOSFET晶体管参数介绍与应用说明
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈