1.package com.wkx.jfreechart;
2.
3.import java.awt.BasicStroke;
4.import java.awt.Color;
5.import java.awt.Dimension;
6.import java.awt.Font;
7.import java.util.Random;
8.
9.import javax.swing.JPanel;
10.
11.import org.jfree.chart.ChartFactory;
12.import org.jfree.chart.ChartPanel;
13.import org.jfree.chart.JFreeChart;
14.import org.jfree.chart.axis.CategoryAxis;
15.import org.jfree.chart.axis.NumberAxis;
16.import org.jfree.chart.plot.CategoryPlot;
17.import org.jfree.chart.plot.PlotOrientation;
18.import org.jfree.chart.title.LegendTitle;
19.import org.jfree.chart.title.TextTitle;
20.import org.jfree.data.category.CategoryDataset;
21.import org.jfree.data.category.DefaultCategoryDataset;
22.import org.jfree.ui.ApplicationFrame;
23.import org.jfree.ui.RefineryUtilities;
24.
25.public class MyBarChartTest extends ApplicationFrame {
26.
27. public MyBarChartTest(String title) {
28. super(title);
29. JFreeChart barChart = createBarChart(createDateset());
30. JPanel localPanel = new ChartPanel(barChart);
31. localPanel.setPreferredSize(new Dimension(500,270));
32. setContentPane(localPanel);
33. }
34.
35. private String[] city={"北京","上海","深圳","西安","广州"};
36. private String[] fruit={"苹果","鸭梨","桔子","香蕉","栗子"};
37.
38. public static void main(String[] args) {
39. MyBarChartTest barChartTest = new MyBarChartTest("柱形图测试");
40. barChartTest.pack();
41. RefineryUtilities.centerFrameOnScreen(barChartTest);
42. barChartTest.setVisible(true);
43. }
44.
45. public CategoryDataset createDateset(){
46. DefaultCategoryDataset dataset = new DefaultCategoryDataset();
47. Random r = new Random();
48. for(int i=0;i<city.length;i++){
49. for(int j=0;j<fruit.length;j++){
50. dataset.setValue(r.nextDouble() * 10, city[i], fruit[j]);
51. }
52. }
53. return dataset;
54. }
55.
56. public JFreeChart createBarChart(CategoryDataset dataset){
57. JFreeChart barChart = ChartFactory.createBarChart("柱状图测试", "水果", "产量", dataset, PlotOrientation.VERTICAL, true, true, true);
58. //获取绘图区
59. CategoryPlot plot = barChart.getCategoryPlot();
60. //设置绘图区网格线是否可见(竖着的网格线)
61. plot.setDomainGridlinesVisible(true);
62. //设置绘图区网格线颜色(竖着的网格线)
63. plot.setDomainGridlinePaint(Color.RED);
64. //设置绘图区网格交叉线是否可见(单击时出现的横线)
65. plot.setRangeCrosshairVisible(true);
66. //设置绘图区网格交叉线颜色(单击时出现的横线)
67. plot.setRangeCrosshairPaint(Color.BLUE);
68. //数据轴网格线条颜色(横着的线条)
69. plot.setRangeGridlinePaint(Color.GRAY);
70. //数据轴网格线条样式粗细(横着的线条)
71. plot.setRangeGridlineStroke(new BasicStroke(1.0F));
72. //获取标题对象
73. TextTitle title = barChart.getTitle();
74. //设置标题字体
75. title.setFont(new Font("黑体", Font.PLAIN, 20));
76. //获取底部对象
77. LegendTitle legend = barChart.getLegend();
78. //设置底部字体
79. legend.setItemFont(new Font("宋体", Font.PLAIN, 14));
80. //设置绘图区背景色
81. barChart.setBackgroundPaint(Color.PINK);
82. //数据区的分类轴
83. CategoryAxis domainAxis = plot.getDomainAxis();
84. //坐标轴标题字体
85. domainAxis.setLabelFont(new Font("黑体", Font.PLAIN, 16));
86. //坐标轴标尺值字体
87. domainAxis.setTickLabelFont(new Font("黑体", Font.PLAIN, 16));
88. //数据区的数据轴
89. NumberAxis numberAxis = (NumberAxis) plot.getRangeAxis();
90. //坐标轴标题字体
91. numberAxis.setLabelFont(new Font("黑体", Font.PLAIN, 16));
92. //坐标轴标尺值字体
93. numberAxis.setTickLabelFont(new Font("黑体", Font.PLAIN, 16));
94.
95. return barChart;
96. }
97.
98.
99.}
分享到:
相关推荐
【动画柱状图】是一种视觉效果丰富、交互性强的数据展示方式,尤其在移动应用开发中,如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(其对应的代码和数据)