代码如下

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.GradientPaint;
import java.io.File;
import java.io.IOException;import javax.swing.JPanel;import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.StandardChartTheme;
import org.jfree.chart.axis.NumberAxis;
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 CoreNeibor extends ApplicationFrame {public CoreNeibor(String s) {super(s);setContentPane(createDemoLine());}public static void main(String[] args) {CoreNeibor fjc = new CoreNeibor("折线图");fjc.pack();RefineryUtilities.centerFrameOnScreen(fjc);fjc.setVisible(true);}// 生成显示图表的面板public static JPanel createDemoLine() {JFreeChart jfreechart = createChart(createDataset());return new ChartPanel(jfreechart);}// 生成图表主对象JFreeChartpublic static JFreeChart createChart(DefaultCategoryDataset linedataset) {//创建主题样式         StandardChartTheme standardChartTheme=new StandardChartTheme("CN");        //设置标题字体         standardChartTheme.setExtraLargeFont(new Font("隶书",Font.BOLD,20));        //设置图例的字体        standardChartTheme.setRegularFont(new Font("宋书",Font.PLAIN,15));        //设置轴向的字体       standardChartTheme.setLargeFont(new Font("宋书",Font.PLAIN,15));        //应用主题样式      ChartFactory.setChartTheme(standardChartTheme); //定义图表对象JFreeChart chart = ChartFactory.createLineChart("折线图", // chart title"Eps", // domain axis label"", // range axis labellinedataset, // dataPlotOrientation.VERTICAL, // orientationtrue, // include legendtrue, // tooltipsfalse // urls);chart.setBackgroundPaint(new GradientPaint(0,0,Color.white,500,0,Color.LIGHT_GRAY)); CategoryPlot plot = chart.getCategoryPlot();// customise the range axis...NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());rangeAxis.setAutoRangeIncludesZero(true);rangeAxis.setUpperMargin(0.20);rangeAxis.setLabelAngle(Math.PI / 2.0);plot.setForegroundAlpha(1.0f);plot.getRenderer().setSeriesPaint(0, Color.red) ;plot.getRenderer().setSeriesPaint(1, Color.blue) ;//获取折线对象 LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot.getRenderer();         BasicStroke realLine = new BasicStroke(3.6f);       //设置实线 float dashes[] = { 8.0f };                      //定义虚线数组 BasicStroke brokenLine = new BasicStroke(3.6f,      //线条粗细 BasicStroke.CAP_SQUARE,             //端点风格 BasicStroke.JOIN_MITER,                 //折点风格 8.f,                                //折点处理办法 dashes,                         //虚线数组 0.0f);                          //虚线偏移量 renderer.setSeriesStroke(1, brokenLine);     //利用虚线绘制 renderer.setSeriesStroke(0, realLine);    //利用实线绘制 try {ChartUtilities.saveChartAsPNG(new File("E:/chart/CoreNeibor.jpg"), chart, 500, 500);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return chart;}//生成数据public static DefaultCategoryDataset createDataset() {DefaultCategoryDataset linedataset = new DefaultCategoryDataset();// 各曲线名称String series1 = "核心点数";String series2 = "簇数";//    横轴名称(列名称)String type1 = "0.1";String type2 = "0.2";String type3 = "0.25";String type4 = "0.3";String type5 = "0.4";linedataset.addValue(900, series1, type1);linedataset.addValue(1500, series1, type2);linedataset.addValue(2010, series1, type3);linedataset.addValue(2501, series1, type4);linedataset.addValue(3500, series1, type5);linedataset.addValue(300, series2, type1);linedataset.addValue(600, series2, type2);linedataset.addValue(800, series2, type3);linedataset.addValue(604, series2, type4);linedataset.addValue(590, series2, type5);return linedataset;}}

  

转载于:https://www.cnblogs.com/xinyonde/archive/2013/01/04/2843687.html

JFreeChart画折线图相关推荐

  1. java jfreechart 折线图_java程序使用JfreeChart画折线图

    一段简单的使用JfreeChart绘制折线图的java程序实现一个小例子. package org.ncut.decloud.linecharts; import javax.swing.JPanel ...

  2. java 折线动图_Java画折线图

    JFreeChart 是开放源代码站点SourceForge.net 上的一个 JAVA 项目,它主要用来各种各样的图表,这些图表包括:饼图.柱状图 ( 普通柱状图以及堆栈柱状图 ).线图.区域图.分 ...

  3. python画柱状图 画折线图

    # 画柱状图     plt.bar(x_labels, grid) 画折线图     """     for i in range(len(grid)-1):     ...

  4. python怎么做折线图_python怎么画折线图

    匿名用户 1级 2018-01-18 回答 一.环境准备 linux ubuntu 下需安装下面三个包: Numpy, Scipy,Matplotlib 分别输入下面的代码进行安装: [plain]  ...

  5. python画折线图代码-用Python画论文折线图、曲线图?几个代码模板轻松搞定!

    前言 这几天在搞论文图,唉说实话抠图这种东西真能逼死人.坐在电脑前抠上一天越看越丑,最后把自己丑哭了-- 到了画折线图分析的时候,在想用哪些工具的时候.首先否决了excel,读书人的事,怎么能用exc ...

  6. python画折线图代码-Python折线图的分析过程和画图的方法

    说起折线图,很多人都觉得非常简单,不就是一些点连成的线吗?用 Excel 几秒钟就能画出一张折线图. 真的就这么简单吗? 想一想:在普通的折线图中,如何自动地添加一条代表平均值的横线?如何添加一条带箭 ...

  7. python画折线图代码-python绘制简单折线图代码示例

    1.画最简单的直线图 代码如下: import numpy as np import matplotlib.pyplot as plt x=[0,1] y=[0,1] plt.figure() plt ...

  8. python如何绘制折线图-python如何画折线图

    python画折线图利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图:# -*- coding: UTF-8 -*- import numpy as ...

  9. 如何使用python画折线图-Python 使用 matplotlib 画折线图教程

    话不多说,直接上代码.最近修改一篇论文,实验部分的图全部重画了一下,也正好在此进行整理.使用 Python 的 matplotlib 库来画图还是比较方便的,今天整理一下用 matplotlib 画折 ...

最新文章

  1. 鲜为人知的object-fit属性,让您的img图片不再因为固定宽高而被拉伸压缩
  2. 剑指offer_第16题_合并两个排序的链表_Python
  3. RabbitMQ的消费限流
  4. cdockpane限制调整大小_影视后期制作小伙伴必看:使用AU对声音质量进行调整的三大技巧...
  5. [html] 使用history路由方式时,你有自己动手配置过服务器端吗?为什么要配服务器端?怎么配?
  6. mysql error 1449_MySql错误:ERROR 1449 (HY000)
  7. dockerfile如何运行镜像内的脚本_第七章 Dockerfile文件解析(一)
  8. Python--爬虫初学(11.5)
  9. 大规模针对iOS设备的恶意广告活动劫持3亿次浏览器会话
  10. SQL SERVER 高效存储过程分页(Max/Min方法)
  11. HDU各种比赛题题解(一)
  12. 8.从Paxos到Zookeeper分布式一致性原理与实践---Zookeeper 运维
  13. Linux(ubuntu 18.0.4) Java环境安装,环境变量配置
  14. c++八大排序算法详解
  15. 如何学好3D游戏引擎编程
  16. LCD驱动芯片——BL55072A驱动程序
  17. android 图片存取方法,6种备份Android照片的方法
  18. 联发科天玑 9200 旗舰芯片,有哪些亮点和不足
  19. centos上搭建nginx视频点播服务器(nginx+vod+lua http发送鉴权消息)
  20. _3_body_标签

热门文章

  1. 小白怎么入门自由职业?
  2. 应届生找工作是首先选择一个公司,还是选择一个行业?
  3. Now, using the touch-screen smartphone in your hand
  4. 深度优先搜索(DFS)
  5. Sentinel总结(个人笔记)
  6. android 创建模拟器打不开,解决Android模拟器打不开的问题!...
  7. 引领性指标与滞后性指标_测量可用性组同步滞后
  8. 使用sp_executesql存储过程执行动态SQL查询
  9. 移动机器人建图与导航代码实现——1.Hector SLAM
  10. PHP面向对象构造函数,析构函数