JfreeChart 虚线的画法
来源:互联网 发布:mysql删除约束unique 编辑:程序博客网 时间:2024/04/26 15:15
代码
import java.awt.BasicStroke;
import java.awt.Dimension;
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.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.LineAndShapeRenderer;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
public class MyLineChartDemo extends ApplicationFrame
{
public MyLineChartDemo(String s)
{
super(s);
JFreeChart jfreechart = createChart();
ChartPanel chartpanel = new ChartPanel(jfreechart);
chartpanel.setPreferredSize(new Dimension(600, 350));
setContentPane(chartpanel);
}
private static JFreeChart createChart()
{
String s = "家具产量";
String s1 = "居民收入";
String s3 = "2007年1月";
String s4 = "2007年2月";
String s5 = "2007年3月";
String s6 = "2007年4月";
String s7 = "2007年5月";
String s8 = "2007年6月";
String s9 = "2007年7月";
String s10 = "2007年8月";
String s11 = "2007年9月";
String s12 = "2007年10月";
String s13 = "2007年11月";
String s14 = "2007年12月";
CategoryPlot categoryplot = new CategoryPlot();
/**开始构造第一条折线*/
DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
defaultcategorydataset.addValue(200, s, s3);
defaultcategorydataset.addValue(210, s, s4);
defaultcategorydataset.addValue(220, s, s5);
defaultcategorydataset.addValue(230, s, s6);
defaultcategorydataset.addValue(240, s, s7);
defaultcategorydataset.addValue(250, s, s8);
defaultcategorydataset.addValue(260, s, s9);
defaultcategorydataset.addValue(270, s, s10);
defaultcategorydataset.addValue(320, s, s11);
LineAndShapeRenderer lineandshaperenderer = new LineAndShapeRenderer();
categoryplot.setDataset(0, defaultcategorydataset);
categoryplot.setRenderer(0, lineandshaperenderer);/**到此为止,一条折线的设置完成*/
categoryplot.setRangeGridlinesVisible(true);
categoryplot.setDomainAxis(new CategoryAxis("Category"));
categoryplot.setRangeAxis(new NumberAxis("Value"));
categoryplot.setOrientation(PlotOrientation.VERTICAL);
/**构造第一条虚线*/
DefaultCategoryDataset defaultcategorydataset1 = new DefaultCategoryDataset();
defaultcategorydataset1.addValue(360, s, s12);
defaultcategorydataset1.addValue(400, s, s13);
defaultcategorydataset1.addValue(550, s, s14);
categoryplot.setDataset(1, defaultcategorydataset1);
LineAndShapeRenderer lineandshaperenderer1 = new LineAndShapeRenderer();
lineandshaperenderer1.setBaseShapesVisible(true);/**设置折线中的端点图形是否可见*/
lineandshaperenderer1.setSeriesStroke(0, new BasicStroke(2.0F, 1, 1, 1.0F, new float[] {30F, 12F}, 0.0F)); //虚线生效处
lineandshaperenderer1.setBaseItemLabelsVisible(true);
lineandshaperenderer1.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
categoryplot.setRenderer(1, lineandshaperenderer1);
return new JFreeChart(categoryplot);
}
public static void main(String args[])
{
MyLineChartDemo linechartdemo5 = new MyLineChartDemo("Line Chart Demo 5");
linechartdemo5.pack();
RefineryUtilities.centerFrameOnScreen(linechartdemo5);
linechartdemo5.setVisible(true);
}
}
=========================================================================
代码
import java.awt.BasicStroke;
import java.awt.Dimension;
import java.text.NumberFormat;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.data.time.Month;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.xy.XYDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
public class MyLineChartDemo7 extends ApplicationFrame {
public MyLineChartDemo7(String s) {
super(s);
JFreeChart jfreechart = createChart();
ChartPanel chartpanel = new ChartPanel(jfreechart);
chartpanel.setPreferredSize(new Dimension(600, 350));
setContentPane(chartpanel);
}
private static XYDataset createDataset() {
TimeSeries s1 = new TimeSeries("家具产量增量", Month.class);
s1.add(new Month(1, 2001), 200);
s1.add(new Month(2, 2001), 210);
s1.add(new Month(3, 2001), 220);
s1.add(new Month(4, 2001), 230);
s1.add(new Month(5, 2001), 240);
s1.add(new Month(6, 2001), 250);
s1.add(new Month(7, 2001), 260);
s1.add(new Month(8, 2001), 270);
s1.add(new Month(9, 2001), 280);
s1.add(new Month(10, 2001), 290);
TimeSeries s2 = new TimeSeries("家具产量增量预测", Month.class);
s2.add(new Month(10, 2001), 290);
s2.add(new Month(11, 2001), 320);
s2.add(new Month(12, 2001), 340);
TimeSeriesCollection dataset = new TimeSeriesCollection();
dataset.addSeries(s1);
dataset.addSeries(s2);
return dataset;
}
private static JFreeChart createChart() {
XYDataset defaultcategorydataset1 = createDataset();
JFreeChart chart = ChartFactory.createTimeSeriesChart("预测图", "", "", // y-axis
// label
defaultcategorydataset1, // data
true, true, false);
XYPlot categoryplot = chart.getXYPlot();
categoryplot.setRangeGridlinesVisible(true);
categoryplot.setOrientation(PlotOrientation.VERTICAL);
categoryplot.getRenderer().setSeriesStroke(0,
new BasicStroke(2.0F, 1, 1, 1.0F, null, 0.0F));
categoryplot.getRenderer()
.setSeriesStroke(
1,
new BasicStroke(2.0F, 1, 1, 1.0F,
new float[] { 6F, 6F }, 0.0F));
XYLineAndShapeRenderer lineandshaperenderer = (XYLineAndShapeRenderer) categoryplot
.getRenderer();
lineandshaperenderer.setBaseShapesVisible(true);
/** 纵轴设置 */
NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();
numberaxis.setNumberFormatOverride(NumberFormat.getPercentInstance());
numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
numberaxis.setAutoRangeIncludesZero(true);
numberaxis.setUpperMargin(0.12D);
return new JFreeChart(categoryplot);
}
public static void main(String args[]) {
MyLineChartDemo7 linechartdemo5 = new MyLineChartDemo7(
"Line Chart Demo 5");
linechartdemo5.pack();
RefineryUtilities.centerFrameOnScreen(linechartdemo5);
linechartdemo5.setVisible(true);
}
}
摘抄于http://topic.csdn.net/u/20080416/10/43f21519-f21a-4796-ad5b-fb7d56c784fa.html
- JfreeChart 虚线的画法
- WPF 虚线的画法
- ios虚线的画法
- iOS开发虚线画法
- JFreeChart的应用-----在JSP页面上的折线画法
- 给新手的简单教程,超简单好用抽线教程+虚线画法
- flex教程:一个虚线画法实例
- JFreeChart 当时间点点缺失时断裂画法(转)
- 数据流程图的画法
- 数据流程图的画法
- 正弦函数的画法
- VC++ 箭头的画法
- 有才人的画法
- 五角星的画法
- 数据流图的画法
- 直线的画法
- 数据流图的画法
- 数据流图的画法
- WebFOCUS帮助大西洋贝尔开拓新的电信市场
- 通道绑定接口配置
- android 编写简单浏览器带下载
- android在google map上画出导航路线图
- 实现像handcent sms或者chomp sms那样的气泡短信样式
- JfreeChart 虚线的画法
- ORA-01476: divisor is equal to zero解决方法
- Ubuntu10.04系统 32位机上安装编译Android2.3源码
- IE6 CSS bug: position:relative元素被overflow:auto/scroll元素包含
- OAuth的原理认证流程及访问资源流程
- 估算扑克
- (转)Ubuntu中Git服务器搭建
- a[i] = (a[i-1] - a[i+1])/2 + d
- JDK HashMap的内部实现分析