返回信息流最近项目需要用jfreechart做一个柱状图。每一个柱分为上下两部分。
比如一个柱下半部分是pass的case数量上半部分是fail的case数量。
如何解决?
求达人指教啊
这是一条镜像帖。来源:北邮人论坛 / java / #21724同步于 2012/3/14
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
关于jfreechart
PunisH
2012/3/14镜像同步8 回复
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
暂时不考虑用这个,网上有好多都是java程序方面的,我们要做web方面的。
【 在 foxk2fox 的大作中提到: 】
: SWTChart呢?有很多例子,ms有lz说的柱状图
【 在 simpleness 的大作中提到: 】
: 最近也要用jfreechart做个简单折线图,但感觉很麻烦,借楼问下有没有更简单的方法呢?
: jfreechart以前没有使用过,不过听说很好。
jfreechart做折线图应该很容易。
运行那个demo,找到你要的效果图,然后去source找对应源码,修改成自己的就可以了
附件(3.7MB) jfreechart-1.0.8-demo.rar
看你描述,貌似在Bar Charts->XYPlot->StackedXYBarChartDemo1
/* ---------------------------
* StackedXYBarChartDemo1.java
* ---------------------------
* (C) Copyright 2004, 2007, by Object Refinery Limited.
*
*/
package demo;
import javax.swing.JPanel;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.StackedXYBarRenderer;
import org.jfree.data.xy.DefaultTableXYDataset;
import org.jfree.data.xy.TableXYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
/**
* A simple stacked bar chart on an XYPlot.
*/
public class StackedXYBarChartDemo1 extends ApplicationFrame {
/**
* Creates a new demo.
*
* @param title the frame title.
*/
public StackedXYBarChartDemo1(String title) {
super(title);
JPanel chartPanel = createDemoPanel();
chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
setContentPane(chartPanel);
}
/**
* Creates a sample dataset.
*
* @return a sample dataset.
*/
private static TableXYDataset createDataset() {
DefaultTableXYDataset dataset = new DefaultTableXYDataset();
XYSeries s1 = new XYSeries("Series 1", true, false);
s1.add(1.0, 5.0);
s1.add(2.0, 15.5);
s1.add(3.0, 9.5);
s1.add(4.0, 7.5);
dataset.addSeries(s1);
XYSeries s2 = new XYSeries("Series 2", true, false);
s2.add(1, 5.0);
s2.add(2, 15.5);
s2.add(3, 9.5);
s2.add(4, 3.5);
dataset.addSeries(s2);
return dataset;
}
/**
* Creates a sample chart.
*
* @param dataset the dataset for the chart.
*
* @return a sample chart.
*/
private static JFreeChart createChart(TableXYDataset dataset) {
NumberAxis domainAxis = new NumberAxis("X");
domainAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
NumberAxis rangeAxis = new NumberAxis("Y");
StackedXYBarRenderer renderer = new StackedXYBarRenderer(0.10);
renderer.setDrawBarOutline(false);
XYPlot plot = new XYPlot(dataset, domainAxis, rangeAxis, renderer);
JFreeChart chart = new JFreeChart("Stacked XY Bar Chart Demo 1", plot);
return chart;
}
/**
* Creates a panel for the demo (used by SuperDemo.java).
*
* @return A panel.
*/
public static JPanel createDemoPanel() {
JFreeChart chart = createChart(createDataset());
return new ChartPanel(chart);
}
/**
* Starting point for the demonstration application.
*
* @param args ignored.
*/
public static void main(String[] args) {
StackedXYBarChartDemo1 demo = new StackedXYBarChartDemo1(
"Stacked XY Bar Chart Demo 1");
demo.pack();
RefineryUtilities.centerFrameOnScreen(demo);
demo.setVisible(true);
}
}
已经自己找到解决方法了。谢谢各位
【 在 fykhlp 的大作中提到: 】
: 看你描述,貌似在Bar Charts->XYPlot->StackedXYBarChartDemo1
:
: /* ---------------------------
: ...................