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应用中实现动态的柱状图效果而创建的。在...
在柱状图的源码中,可能会用到`定位画刷`和`画刷颜色`等函数来控制柱子的颜色和填充,`移动画笔位置`和`画矩形`来绘制柱子的边框和填充部分。 学习和分析这个“易语言画板柱状图”的源码,可以帮助初学者理解易语言...
柱形图_labview柱状图_labview柱状图"是一个关于使用Labview创建柱状图的项目,主要关注的是数据的可视化表示,这对于数据分析和结果展示至关重要。 柱状图是一种常用的数据表示方式,它通过长条的高度来显示各个...
本示例聚焦于创建一个"android 炫酷动画柱状图例子",它打破了Android原生图表控件的限制,通过结合HTML5和JavaScript的力量,实现了样式丰富、动态效果强烈的柱状图。 Android自带的图表库,如`MPAndroidChart`或`...
"画柱状图,折线图"是数据可视化的基本类型,它们广泛应用于数据分析、报告制作以及决策支持。本篇文章将深入探讨如何使用TeeChart和High-Speed Charting库来创建这些图表。 首先,让我们关注TeeChart。TeeChart是...
3. **画板绘图**:在画板上绘制柱状图涉及到一系列绘图命令,如“设置画笔颜色”、“设置画刷颜色”、“移动到”和“线段到”等。我们需要根据数据动态计算每个柱子的位置和高度,并用画笔和画刷在画板上绘制出来。 ...
要实现“在ECharts 地图上画柱状图”,我们需要以下几个步骤: 1. **引入ECharts库**:在HTML文件中,通过CDN或者本地文件引入ECharts的JS库。例如: ```html ...
php画柱状图源码 没用插件 draw函数 美观实用php画柱状图源码 没用插件 draw函数 美观实用
在这个“MsChart画柱状图插件”的主题中,我们将深入探讨如何利用MsChart控件来绘制出具有专业外观的柱状图。 首先,让我们了解一下柱状图的基本概念。柱状图是一种统计图表,用于比较不同类别之间的数值。在柱状图...
c# 画柱状图 dll自定义控件 c# 画柱状图 dll自定义控件 c# 画柱状图 dll自定义控件 c# 画柱状图 dll自定义控件
本项目“android中画柱状图”提供了一种实现方式,可以帮助开发者在Android应用中创建类似股市行情的柱状图表。接下来,我们将深入探讨如何在Android中绘制柱状图及其相关知识点。 首先,柱状图的绘制通常需要借助...
在本文中,我们将深入探讨如何使用C#.NET 2005和GDI+来创建柱状图。柱状图是一种常见的数据可视化工具,能够帮助我们直观地理解各种统计数据。在给定的项目中,开发者使用了Visual Studio 2005 (VS2005) 这个强大的...
易语言源码易语言画板柱状图源码.rar 易语言源码易语言画板柱状图源码.rar 易语言源码易语言画板柱状图源码.rar 易语言源码易语言画板柱状图源码.rar 易语言源码易语言画板柱状图源码.rar 易语言源码易语言画板...
"自定义View画柱状图"这个主题,就是关于如何在Android应用中实现一个自定义的View,用于绘制横向的柱状图。下面我们将深入探讨这个话题。 首先,我们从基础开始。在Android中,自定义View通常需要继承自View或其...
本示例“Android画柱状图的demo”提供了一个可运行的应用,用于教授如何在Android平台上利用Canvas和Paint类来绘制柱状图。下面我们将深入探讨这两个关键类以及如何使用它们创建柱状图。 首先,`Canvas`是Android...
在Java编程环境中,JFreeChart库是一个强大的工具,用于创建各种复杂的图表,包括柱状图、折线图和雷达图。这些图表对于数据可视化和数据分析非常有用,可以帮助开发者直观地展示大量信息。以下是对给定文件中每个...
在报表生成领域,iText 提供了丰富的功能,包括创建柱形图、饼图和折线图,使得开发者可以轻松地在PDF文档中嵌入各类图表,增强报告的可视化效果。 在使用iText进行报表制作时,柱形图、饼图和折线图是数据可视化的...
总的来说,C#自定义画柱状图控件的实现涉及到Windows Forms控件的继承、图形绘制和数据绑定等多个知识点。通过深入理解这些原理并结合提供的.dll文件,开发者能够更加高效地创建出满足特定需求的可视化组件。
根据excel内容画折线图和柱状图,具体可参考:https://blog.csdn.net/u010637291/article/details/117189249(其对应的代码和数据)