`
mimang2007110
  • 浏览: 237343 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

画柱形图

阅读更多
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;
	}


}

 

分享到:
评论

相关推荐

    动画柱状图

    【动画柱状图】是一种视觉效果丰富、交互性强的数据展示方式,尤其在移动应用开发中,如Android平台,常用于数据分析或数据可视化。这个小demo是开发者为了展示如何在Android应用中实现动态的柱状图效果而创建的。在...

    e语言-易语言画板柱状图

    在柱状图的源码中,可能会用到`定位画刷`和`画刷颜色`等函数来控制柱子的颜色和填充,`移动画笔位置`和`画矩形`来绘制柱子的边框和填充部分。 学习和分析这个“易语言画板柱状图”的源码,可以帮助初学者理解易语言...

    柱状图V3_Labviewhistogram_labview.柱形图_labview柱状图_labview柱状图

    柱形图_labview柱状图_labview柱状图"是一个关于使用Labview创建柱状图的项目,主要关注的是数据的可视化表示,这对于数据分析和结果展示至关重要。 柱状图是一种常用的数据表示方式,它通过长条的高度来显示各个...

    android 炫酷动画柱状图例子

    本示例聚焦于创建一个"android 炫酷动画柱状图例子",它打破了Android原生图表控件的限制,通过结合HTML5和JavaScript的力量,实现了样式丰富、动态效果强烈的柱状图。 Android自带的图表库,如`MPAndroidChart`或`...

    画柱状图,折线图

    "画柱状图,折线图"是数据可视化的基本类型,它们广泛应用于数据分析、报告制作以及决策支持。本篇文章将深入探讨如何使用TeeChart和High-Speed Charting库来创建这些图表。 首先,让我们关注TeeChart。TeeChart是...

    易语言画板柱状图

    3. **画板绘图**:在画板上绘制柱状图涉及到一系列绘图命令,如“设置画笔颜色”、“设置画刷颜色”、“移动到”和“线段到”等。我们需要根据数据动态计算每个柱子的位置和高度,并用画笔和画刷在画板上绘制出来。 ...

    在Echarts 地图上画柱状图

    要实现“在ECharts 地图上画柱状图”,我们需要以下几个步骤: 1. **引入ECharts库**:在HTML文件中,通过CDN或者本地文件引入ECharts的JS库。例如: ```html ...

    php画柱状图源码 没用插件 draw函数 美观实用

    php画柱状图源码 没用插件 draw函数 美观实用php画柱状图源码 没用插件 draw函数 美观实用

    MsChart画柱状图插件

    在这个“MsChart画柱状图插件”的主题中,我们将深入探讨如何利用MsChart控件来绘制出具有专业外观的柱状图。 首先,让我们了解一下柱状图的基本概念。柱状图是一种统计图表,用于比较不同类别之间的数值。在柱状图...

    c# 画柱状图 dll自定义控件

    c# 画柱状图 dll自定义控件 c# 画柱状图 dll自定义控件 c# 画柱状图 dll自定义控件 c# 画柱状图 dll自定义控件

    android中画柱状图

    本项目“android中画柱状图”提供了一种实现方式,可以帮助开发者在Android应用中创建类似股市行情的柱状图表。接下来,我们将深入探讨如何在Android中绘制柱状图及其相关知识点。 首先,柱状图的绘制通常需要借助...

    C#.NET2005画柱状图

    在本文中,我们将深入探讨如何使用C#.NET 2005和GDI+来创建柱状图。柱状图是一种常见的数据可视化工具,能够帮助我们直观地理解各种统计数据。在给定的项目中,开发者使用了Visual Studio 2005 (VS2005) 这个强大的...

    易语言源码易语言画板柱状图源码.rar

    易语言源码易语言画板柱状图源码.rar 易语言源码易语言画板柱状图源码.rar 易语言源码易语言画板柱状图源码.rar 易语言源码易语言画板柱状图源码.rar 易语言源码易语言画板柱状图源码.rar 易语言源码易语言画板...

    自定义View画柱状图

    "自定义View画柱状图"这个主题,就是关于如何在Android应用中实现一个自定义的View,用于绘制横向的柱状图。下面我们将深入探讨这个话题。 首先,我们从基础开始。在Android中,自定义View通常需要继承自View或其...

    Android画柱状图的demo

    本示例“Android画柱状图的demo”提供了一个可运行的应用,用于教授如何在Android平台上利用Canvas和Paint类来绘制柱状图。下面我们将深入探讨这两个关键类以及如何使用它们创建柱状图。 首先,`Canvas`是Android...

    java里用JFreeChart画柱状图、折线图、雷达图

    在Java编程环境中,JFreeChart库是一个强大的工具,用于创建各种复杂的图表,包括柱状图、折线图和雷达图。这些图表对于数据可视化和数据分析非常有用,可以帮助开发者直观地展示大量信息。以下是对给定文件中每个...

    itext报表类库 柱形图,饼图,折线图

    在报表生成领域,iText 提供了丰富的功能,包括创建柱形图、饼图和折线图,使得开发者可以轻松地在PDF文档中嵌入各类图表,增强报告的可视化效果。 在使用iText进行报表制作时,柱形图、饼图和折线图是数据可视化的...

    C#自定义画柱状图控件

    总的来说,C#自定义画柱状图控件的实现涉及到Windows Forms控件的继承、图形绘制和数据绑定等多个知识点。通过深入理解这些原理并结合提供的.dll文件,开发者能够更加高效地创建出满足特定需求的可视化组件。

    matlab根据excel画折线图和柱状图

    根据excel内容画折线图和柱状图,具体可参考:https://blog.csdn.net/u010637291/article/details/117189249(其对应的代码和数据)

Global site tag (gtag.js) - Google Analytics