package com.wkx.jfreechart;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.util.Random;
import javax.swing.JPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
public class MyBarChartTest extends ApplicationFrame {
public MyBarChartTest(String title) {
super(title);
JFreeChart barChart = createBarChart(createDateset());
JPanel localPanel = new ChartPanel(barChart);
localPanel.setPreferredSize(new Dimension(500,270));
setContentPane(localPanel);
}
private String[] city={"北京","上海","深圳","西安","广州"};
private String[] fruit={"苹果","鸭梨","桔子","香蕉","栗子"};
public static void main(String[] args) {
MyBarChartTest barChartTest = new MyBarChartTest("柱形图测试");
barChartTest.pack();
RefineryUtilities.centerFrameOnScreen(barChartTest);
barChartTest.setVisible(true);
}
public CategoryDataset createDateset(){
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
Random r = new Random();
for(int i=0;i<city.length;i++){
for(int j=0;j<fruit.length;j++){
dataset.setValue(r.nextDouble() * 10, city[i], fruit[j]);
}
}
return dataset;
}
public JFreeChart createBarChart(CategoryDataset dataset){
JFreeChart barChart = ChartFactory.createBarChart("柱状图测试", "水果", "产量", dataset, PlotOrientation.VERTICAL, true, true, true);
//获取绘图区
CategoryPlot plot = barChart.getCategoryPlot();
//设置绘图区网格线是否可见(竖着的网格线)
plot.setDomainGridlinesVisible(true);
//设置绘图区网格线颜色(竖着的网格线)
plot.setDomainGridlinePaint(Color.RED);
//设置绘图区网格交叉线是否可见(单击时出现的横线)
plot.setRangeCrosshairVisible(true);
//设置绘图区网格交叉线颜色(单击时出现的横线)
plot.setRangeCrosshairPaint(Color.BLUE);
//数据轴网格线条颜色(横着的线条)
plot.setRangeGridlinePaint(Color.GRAY);
//数据轴网格线条样式粗细(横着的线条)
plot.setRangeGridlineStroke(new BasicStroke(1.0F));
//获取标题对象
TextTitle title = barChart.getTitle();
//设置标题字体
title.setFont(new Font("黑体", Font.PLAIN, 20));
//获取底部对象
LegendTitle legend = barChart.getLegend();
//设置底部字体
legend.setItemFont(new Font("宋体", Font.PLAIN, 14));
//设置绘图区背景色
barChart.setBackgroundPaint(Color.PINK);
//数据区的分类轴
CategoryAxis domainAxis = plot.getDomainAxis();
//坐标轴标题字体
domainAxis.setLabelFont(new Font("黑体", Font.PLAIN, 16));
//坐标轴标尺值字体
domainAxis.setTickLabelFont(new Font("黑体", Font.PLAIN, 16));
//数据区的数据轴
NumberAxis numberAxis = (NumberAxis) plot.getRangeAxis();
//坐标轴标题字体
numberAxis.setLabelFont(new Font("黑体", Font.PLAIN, 16));
//坐标轴标尺值字体
numberAxis.setTickLabelFont(new Font("黑体", Font.PLAIN, 16));
return barChart;
}
}
分享到:
相关推荐
自己写的一个有动画的柱状图小demo,希望对你有帮助
根据省份位置,在Echarts 地图上画柱状图, 可点击放大单个柱状图
易语言画板柱状图源码例程程序使用易语言画板组件实现柱状图效果。 点评:易语言画板柱状图源码是易语言画板应用例程。
php画柱状图源码 没用插件 draw函数 美观实用php画柱状图源码 没用插件 draw函数 美观实用
java里用JFreeChart画柱状图、折线图、雷达图,三个封装好的方法,可以直接调用。
开发工具:VS2005;语言:C#;利用GDI+画柱状图 包里面是一个winform和一个类,将其放在解决方案下即可,自己改一下数据库连接
易语言画板柱状图源码,画板柱状图
c# 画柱状图 dll自定义控件 c# 画柱状图 dll自定义控件 c# 画柱状图 dll自定义控件 c# 画柱状图 dll自定义控件
资源介绍:。通过画板实现画波浪线柱状图等,源码可用于数据统计,股票走势等,。资源作者:。资源界面:。资源下载:。
易语言源码易语言画板柱状图源码.rar 易语言源码易语言画板柱状图源码.rar 易语言源码易语言画板柱状图源码.rar 易语言源码易语言画板柱状图源码.rar 易语言源码易语言画板柱状图源码.rar 易语言源码易语言画板...
MsChart画柱状图插件
itext 报表工具 柱形图,饼图,折线图。。。
用metlab怎么画柱状图,代码, 领你的图片与众不同 柱状图内含特殊图形代替颜色
项目中用到柱形图,当数据列比较多的时候, X轴的刻度标签会被精简为几个,无法在每个柱子下方显示其刻度值。这时候可以用自定义标签解决问题。
根据excel内容画折线图和柱状图,具体可参考:https://blog.csdn.net/u010637291/article/details/117189249(其对应的代码和数据)
用c#打开EXCEL中动态生成的柱状图,类
javascript用层画柱状图统计图,测试通过的。
C#画柱状图,可以使用的namespace 柱状图 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Graphics g ...
teechart 和 Hight-Speed Charting 的测试学习