- 浏览: 129325 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
mr_wangjq:
...
跟着官网学Struts2使用(一) -
雪馨25:
sweat89 写道嗯,楼主的学习方法,很值得我学习。加油!! ...
跟着官网学Struts2使用(一) -
雪馨25:
381895649 写道建议用用springmvc,哈.嗯,都 ...
跟着官网学Struts2使用(一) -
sweat89:
嗯,楼主的学习方法,很值得我学习。加油!!
跟着官网学Struts2使用(一) -
381895649:
建议用用springmvc,哈.
跟着官网学Struts2使用(一)
一、前提: 下载增加jar包 : jfreechart-1.0.13.jar , jcommon-1.0.14.jar
二、柱状图:
2.1 效果
2.2 代码
public class HistogramJPanel { private String title; // 图标题 private String verticallyTitle;// 纵向坐标显示名称 private String horizontalTitle;// 横向坐标显示名称 private List<String> elem = new ArrayList<String>();// 内容初始值 (每个类型显示文字) private List<Float> value = new ArrayList<Float>();// 内容初始值(每个类型显示精度) public HistogramJPanel(String title, String horizontalTitle, String verticallyTitle, List<String> elem, List<Float> value) { this.title = title; this.horizontalTitle = horizontalTitle; this.verticallyTitle = verticallyTitle; this.elem = elem; this.value = value; } public HistogramJPanel() { } private class PanelByHistogram extends DemoPanel implements ChangeListener { /** * */ private static final long serialVersionUID = 1L; private JScrollBar scroller; private SlidingCategoryDataset dataset;// 一种滑动类型(图形)数据设置 private CategoryDataset createDataset() throws Exception { DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();// 缺省类型数据设置 if (elem.size() == 0) { JOptionPane.showMessageDialog(null, "柱状图显示数据不符合要求请重新设置", "", JOptionPane.INFORMATION_MESSAGE); throw new Exception("柱状图显示数据不符合要求请重新设置(PanelByHistogram 类 61行)"); } if (elem.size() != value.size()) { JOptionPane.showMessageDialog(null, "柱状图显示数据不符合要求请重新设置", "", JOptionPane.INFORMATION_MESSAGE); throw new Exception("柱状图显示数据不符合要求请重新设置(PanelByHistogram 类 67行)"); } for (int i = 0; i < elem.size(); i++) { defaultcategorydataset.addValue(value.get(i),"PanelByHistogram", elem.get(i)); } return defaultcategorydataset; } private JFreeChart createChart(CategoryDataset categorydataset) throws Exception { if ((verticallyTitle == null || verticallyTitle.trim().length() == 0)) { JOptionPane.showMessageDialog(null, "纵向坐标显示中文?", "",JOptionPane.INFORMATION_MESSAGE); throw new Exception("柱状图显示数据不符合要求请重新设置(PanelByHistogram 类 81行)"); } if ((horizontalTitle == null || horizontalTitle.trim().length() == 0)) { JOptionPane.showMessageDialog(null, "横向坐标显示中文?", "", JOptionPane.INFORMATION_MESSAGE); throw new Exception("柱状图显示数据不符合要求请重新设置(PanelByHistogram 类 85行)"); } JFreeChart jfreechart = ChartFactory.createBarChart(title, horizontalTitle, verticallyTitle, categorydataset, PlotOrientation.VERTICAL, false, true, false); TextTitle t = jfreechart.getTitle(); t.setFont(new Font("宋体", Font.BOLD, 30));// 标题文字 CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot(); // categoryplot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT); //categoryplot.setRangePannable(true); CategoryAxis categoryaxis = categoryplot.getDomainAxis();// X轴 categoryaxis.setMaximumCategoryLabelWidthRatio(0.8F); categoryaxis.setLowerMargin(0.02D); categoryaxis.setUpperMargin(0.02D); categoryaxis.setLabelFont(new Font("宋体", Font.BOLD, 20));// x轴标题文字 categoryaxis.setTickLabelFont(new Font("黑体", Font.BOLD, 10));// x轴坐标上文字 NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();// Y轴 numberaxis.setLabelFont(new Font("宋体", Font.BOLD, 20));// x轴标题文字 numberaxis.setTickLabelFont(new Font("黑体", Font.BOLD, 10));// x轴坐标上文字 numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); //numberaxis.setRange(0.0D, 100D); BarRenderer barrenderer = (BarRenderer) categoryplot.getRenderer(); barrenderer.setDrawBarOutline(false); barrenderer.setItemLabelAnchorOffset(11D); barrenderer.setBaseItemLabelsVisible(true); barrenderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator()); //barrenderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator("{0}, {1}) = {2} per 100,000", new DecimalFormat("0"))); GradientPaint gradientpaint = new GradientPaint(0.0F, 0.0F,Color.blue, 0.0F, 0.0F, new Color(0, 0, 64)); barrenderer.setSeriesPaint(0, gradientpaint); return jfreechart; } public void stateChanged(ChangeEvent changeevent) { dataset.setFirstCategoryIndex(scroller.getValue()); } private PanelByHistogram() throws Exception { super(new BorderLayout()); dataset = new SlidingCategoryDataset(createDataset(), 0, elem.size()); JFreeChart jfreechart = createChart(dataset); addChart(jfreechart); ChartPanel chartpanel = new ChartPanel(jfreechart); //// chartpanel.setPreferredSize(new Dimension(800, 600)); // scroller = new JScrollBar(0, 0, elem.size(), 0, elem.size()); add(chartpanel); // scroller.getModel().addChangeListener(this); // JPanel jpanel = new JPanel(new BorderLayout()); // jpanel.add(scroller); // jpanel.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2)); // jpanel.setBackground(Color.white); // add(jpanel, "South"); } } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getVerticallyTitle() { return verticallyTitle; } public void setVerticallyTitle(String verticallyTitle) { this.verticallyTitle = verticallyTitle; } public String getHorizontalTitle() { return horizontalTitle; } public void setHorizontalTitle(String horizontalTitle) { this.horizontalTitle = horizontalTitle; } public List<String> getElem() { return elem; } public void setElem(List<String> elem) { this.elem = elem; } public List<Float> getValue() { return value; } public void setValue(List<Float> value) { this.value = value; } public JPanel createHistogramPanel() throws Exception { return new PanelByHistogram(); } }
2.3 调用方式
HistogramJPanel histogramJPanel = new HistogramJPanel();// 柱状图的panel
histogramJPanel.setTitle("柱状图");
histogramJPanel.setHorizontalTitle("序号");
histogramJPanel.setVerticallyTitle("数据量");
histogramJPanel.setElem(elem);
histogramJPanel.setValue(value);
view.jScrollPane.setViewportView(histogramJPanel.createHistogramPanel());
view.jScrollPane
.updateUI();
三、饼状图
3.1 效果
3.2 代码
import java.awt.BorderLayout; import java.awt.Font; import java.util.ArrayList; import java.util.List; import javax.swing.JOptionPane; import javax.swing.JPanel; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PiePlot; import org.jfree.chart.title.TextTitle; import org.jfree.data.general.DefaultPieDataset; import org.jfree.data.general.PieDataset; public class PieChartJPanel { private String title; private List<String> elem = new ArrayList<String>();// 内容初始值 (每个类型显示文字) private List<Float> value = new ArrayList<Float>();// 内容初始值(每个类型显示精度) public PieChartJPanel(){ } public PieChartJPanel(String title,List<String> elem,List<Float> value){ this.title=title; this.elem=elem; this.value=value; } private class PieChart extends JPanel{ /** * */ private static final long serialVersionUID = 1L; private PieDataset createDataset()throws Exception{ if (elem.size() == 0) { JOptionPane.showMessageDialog(null, "柱状图显示数据不符合要求请重新设置", "", JOptionPane.INFORMATION_MESSAGE); throw new Exception("柱状图显示数据不符合要求请重新设置(PanelByHistogram 类 61行)"); } if (elem.size() != value.size()) { JOptionPane.showMessageDialog(null, "柱状图显示数据不符合要求请重新设置", "", JOptionPane.INFORMATION_MESSAGE); throw new Exception("柱状图显示数据不符合要求请重新设置(PanelByHistogram 类 67行)"); } DefaultPieDataset defaultpiedataset = new DefaultPieDataset(); for (int i = 0; i < elem.size(); i++) { defaultpiedataset.setValue(elem.get(i), value.get(i)); } return defaultpiedataset; } private JFreeChart createChart(PieDataset piedataset){ JFreeChart jfreechart = ChartFactory.createPieChart(title, piedataset, true, true, false); TextTitle t = jfreechart.getTitle(); t.setFont(new Font("宋体", Font.BOLD, 30));// 标题文字 // TextTitle texttitle = jfreechart.getTitle(); // texttitle.setToolTipText("A title tooltip!"); PiePlot pieplot = (PiePlot)jfreechart.getPlot(); pieplot.setLabelFont(new Font("宋体", 0, 12)); pieplot.setNoDataMessage("No data available"); pieplot.setCircular(false); pieplot.setLabelGap(0.02D); jfreechart.getLegend().setItemFont(new Font("宋体", 0,10)); return jfreechart; } private PieChart()throws Exception{ super(new BorderLayout()); JFreeChart jfreechart=createChart(createDataset()); ChartPanel chartpanel = new ChartPanel(jfreechart); // chartpanel.setPreferredSize(new Dimension(600, 400)); add(chartpanel); } } public JPanel createPieChartPanel() throws Exception{ return new PieChart(); } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public List<String> getElem() { return elem; } public void setElem(List<String> elem) { this.elem = elem; } public List<Float> getValue() { return value; } public void setValue(List<Float> value) { this.value = value; } }
3.3 调用方式
PieChartJPanel PieChart = new PieChartJPanel();// 饼状图panel
PieChart.setTitle("饼状图");
PieChart.setElem(elem);
PieChart.setValue(value);
view.jScrollPane.setViewportView(PieChart.createPieChartPanel());
view.jScrollPane
.updateUI();
发表评论
-
算法--排序(冒泡,选择,插入,快速)
2013-01-08 14:35 1772一、冒泡排序 1.1 概念 重复地走访过要排序的数 ... -
基础正则表达式知识学习总结
2012-07-22 00:10 728学习的网址 http://regexbook ... -
【java】JTable中某一列设置为下拉列表
2012-07-23 17:34 1230JComboBox c = new JComboBox( ... -
【java】JETM--Java™的执行时间测量库简单学习(一)
2012-08-15 17:11 1952一、下载 用途:测试Java™应用程序潜在的性 ... -
【java】实现日历对话框
2012-08-24 16:20 1551一、实现效果 二、代码 // ... -
【java】实现导出Excel文件和XML文件
2012-08-30 14:43 3162一、功能简述 点击“导出”按钮,弹出文件选择对话框, ... -
【java】实现发送带附件email
2012-08-31 15:30 1356一、目标 用java代码实现发送带附件email的功 ... -
【java】值传递和引用传递理解
2012-09-03 18:48 831一、理解 ★ 当一个变量最为一个参数传入方法 ... -
【java】构造函数的继承执行顺序
2012-09-08 11:31 2689问题: 子类继承父类,构造函数及公共属性的执行顺序是 ... -
【java】加密方式
2012-09-11 15:06 964/** * String Utility Class Th ... -
【hibernate】问题:hibernate无法持久化数据
2012-10-25 16:57 1001现象: 程序执行正确,但数据库没有已经执行成功的插入数据 ... -
【java】JTextField与JComboBox结合动态匹配输入信息
2012-11-07 14:24 2413一、实现效果 二、代码 import ... -
【java】反射可执行的实例
2012-12-01 18:17 940一、实例目标 根据传入的完整类名字符串类名,实现 ...
相关推荐
Java 实现柱状图是指使用 Java 语言创建柱状图、饼状图、曲线图等图形的一种技术。通过使用 JFreeChart 库,可以轻松地创建各种类型的图形。下面将对 Java 实现柱状图的相关知识点进行详细介绍。 1. JFreeChart 库 ...
java实现的 生成饼状图 生成单组柱状图 生成多组柱状图 生成堆积柱状图 生成折线图 里面包括了所需要的 jcommon-1.0.12.jar jfreechart-1.0.8a.jar
在Java编程语言中,生成数据可视化图形,如饼状图、柱状图和折线图,是数据分析和展示的关键步骤。这些图表可以帮助我们直观地理解数据分布和趋势。本篇文章将详细探讨如何使用Java实现这三种图表。 首先,饼状图...
Java中的JFreeChart库是一个强大的工具,用于生成各种类型的图表,包括柱状图、饼状图和折线图。在本教程中,我们将深入探讨如何使用JFreeChart创建这些图表,以及如何用随机生成的数据作为数据源。 首先,...
本文将深入探讨如何使用开源框架AChartEngine在Android平台上实现柱状图、饼状图和曲线图的绘制,以创建直观且吸引人的数据展示。 首先,我们要了解AChartEngine库。AChartEngine是一个强大的图形库,为Android应用...
总的来说,JFreeChart是Java开发中实现数据可视化的强大工具,无论是简单的柱状图、饼状图,还是更具立体感的3D饼状图,都可以通过其提供的API轻松实现。通过熟练掌握JFreeChart的使用,开发者可以更好地将复杂的...
总的来说,柱状图和饼状图是数据可视化的基础工具,Java提供了多种库来支持它们的创建。通过与数据库的交互,我们可以根据实际数据动态生成图表,帮助用户更好地理解和分析数据。在实际开发中,选择合适的库、优化...
解决highcharts多级下钻问题,下钻过程中使用了多种图例,...c#,java使用方法一样,demo中使用c#方法实现 vs打开直接可以运行无需连接数据库 大数据可使用异步下钻http://download.csdn.net/detail/ioricnn/9760509
根据提供的文件信息,本文将详细解析如何使用Java代码实现柱状图、折线图与饼状图,并且针对每一个图表的实现过程进行深入探讨。在实际应用中,这些图表经常被用于数据分析、业务报告以及数据可视化展示等领域。 ##...
总的来说,Java中实现饼状图、柱状图和折线图的绘制,主要依赖于像JFreeChart这样的第三方库。通过熟练掌握这些库的使用,开发者能够有效地将数据转化为直观且富有洞察力的图表,从而提升数据分析和报告的质量。
在Java编程中,创建线形图、柱形图和饼状图是数据分析和可视化的重要部分。这些图表可以帮助我们直观地理解复杂的数据集,使数据更易于解析和解释。以下将详细探讨如何在Java环境中实现这些图形,特别是针对...
“利用JFreeChart实现Java中饼状图、柱状图等图表并在Jsp中显示”这个标题表明我们将探讨如何使用JFreeChart库来创建各种类型的图表,如饼状图和柱状图,并且这些图表能够在JavaServer Pages (JSP) 中展示。...
java-echart.js柱状图、饼状图、折线图 /** * 柱状图 * @param classRoom * @param req * @param resp * @param model * @return */ @RequestMapping(value = "/zhuzhuangtu") public String ...
总结来说,柱状图、饼状图和折线图是数据可视化的基本元素,它们在Java编程中通过各种图形库得以实现。掌握这些图表的创建和使用,能够帮助IT专业人士更好地理解和传达复杂的数据信息,从而提升工作效率和决策质量。
JFreeChart 饼状图 柱状图 柱状图 堆积柱状图 折线图 这个是我特地开发的一个用JFreeChart开发的用来画图的项目,已经开发成形了各种项目的各种需求的项目,并且自己可以拓展,根据需求修改代码,完成项目的需要。 ...
在给定的标题和描述中,我们主要涉及到四种图表类型:柱状图、饼状图、折线图以及立体三维图。这些图表的实现通常依赖于第三方库,如Chart.js、Highcharts、D3.js或jQuery UI等。在这里,我们将探讨如何使用jQuery来...
在Java编程领域,创建可视化数据图表是至关重要的,它能够帮助开发者和用户直观地理解复杂的数据。...通过学习和实践以上知识点,你将能够熟练地在Java项目中创建和使用柱状图、饼状图和折线图,提升数据可视化的能力。
在提供的 `multi-bar` 示例中,可能包含了用于演示如何创建多数据柱状图的 Java 代码示例、模板文件以及数据类。这些资源可以帮助开发者更好地理解如何实际操作和应用上述步骤。 总的来说,使用 Apache POI,你可以...
本篇文章将深入探讨如何使用JavaServer Pages (JSP)来生成饼状图和柱状图,这两种是最常见的数据可视化图表。 首先,我们要了解JSP的基础。JSP是一种动态网页技术,它允许我们在HTML页面中嵌入Java代码,从而实现...
曲线图、柱状图和饼状图是最常见的图表类型,它们能够清晰、直观地传达大量信息。在这个Eclipse项目中,包含了实现这些图表功能的示例(demo)和jar包,开发者可以根据自己的项目需求进行相应的修改,以满足特定的...