JFreeChart画折线图
代码如下
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画折线图相关推荐
- java jfreechart 折线图_java程序使用JfreeChart画折线图
一段简单的使用JfreeChart绘制折线图的java程序实现一个小例子. package org.ncut.decloud.linecharts; import javax.swing.JPanel ...
- java 折线动图_Java画折线图
JFreeChart 是开放源代码站点SourceForge.net 上的一个 JAVA 项目,它主要用来各种各样的图表,这些图表包括:饼图.柱状图 ( 普通柱状图以及堆栈柱状图 ).线图.区域图.分 ...
- python画柱状图 画折线图
# 画柱状图 plt.bar(x_labels, grid) 画折线图 """ for i in range(len(grid)-1): ...
- python怎么做折线图_python怎么画折线图
匿名用户 1级 2018-01-18 回答 一.环境准备 linux ubuntu 下需安装下面三个包: Numpy, Scipy,Matplotlib 分别输入下面的代码进行安装: [plain] ...
- python画折线图代码-用Python画论文折线图、曲线图?几个代码模板轻松搞定!
前言 这几天在搞论文图,唉说实话抠图这种东西真能逼死人.坐在电脑前抠上一天越看越丑,最后把自己丑哭了-- 到了画折线图分析的时候,在想用哪些工具的时候.首先否决了excel,读书人的事,怎么能用exc ...
- python画折线图代码-Python折线图的分析过程和画图的方法
说起折线图,很多人都觉得非常简单,不就是一些点连成的线吗?用 Excel 几秒钟就能画出一张折线图. 真的就这么简单吗? 想一想:在普通的折线图中,如何自动地添加一条代表平均值的横线?如何添加一条带箭 ...
- python画折线图代码-python绘制简单折线图代码示例
1.画最简单的直线图 代码如下: import numpy as np import matplotlib.pyplot as plt x=[0,1] y=[0,1] plt.figure() plt ...
- python如何绘制折线图-python如何画折线图
python画折线图利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图:# -*- coding: UTF-8 -*- import numpy as ...
- 如何使用python画折线图-Python 使用 matplotlib 画折线图教程
话不多说,直接上代码.最近修改一篇论文,实验部分的图全部重画了一下,也正好在此进行整理.使用 Python 的 matplotlib 库来画图还是比较方便的,今天整理一下用 matplotlib 画折 ...
最新文章
- 鲜为人知的object-fit属性,让您的img图片不再因为固定宽高而被拉伸压缩
- 剑指offer_第16题_合并两个排序的链表_Python
- RabbitMQ的消费限流
- cdockpane限制调整大小_影视后期制作小伙伴必看:使用AU对声音质量进行调整的三大技巧...
- [html] 使用history路由方式时,你有自己动手配置过服务器端吗?为什么要配服务器端?怎么配?
- mysql error 1449_MySql错误:ERROR 1449 (HY000)
- dockerfile如何运行镜像内的脚本_第七章 Dockerfile文件解析(一)
- Python--爬虫初学(11.5)
- 大规模针对iOS设备的恶意广告活动劫持3亿次浏览器会话
- SQL SERVER 高效存储过程分页(Max/Min方法)
- HDU各种比赛题题解(一)
- 8.从Paxos到Zookeeper分布式一致性原理与实践---Zookeeper 运维
- Linux(ubuntu 18.0.4) Java环境安装,环境变量配置
- c++八大排序算法详解
- 如何学好3D游戏引擎编程
- LCD驱动芯片——BL55072A驱动程序
- android 图片存取方法,6种备份Android照片的方法
- 联发科天玑 9200 旗舰芯片,有哪些亮点和不足
- centos上搭建nginx视频点播服务器(nginx+vod+lua http发送鉴权消息)
- _3_body_标签
热门文章
- 小白怎么入门自由职业?
- 应届生找工作是首先选择一个公司,还是选择一个行业?
- Now, using the touch-screen smartphone in your hand
- 深度优先搜索(DFS)
- Sentinel总结(个人笔记)
- android 创建模拟器打不开,解决Android模拟器打不开的问题!...
- 引领性指标与滞后性指标_测量可用性组同步滞后
- 使用sp_executesql存储过程执行动态SQL查询
- 移动机器人建图与导航代码实现——1.Hector SLAM
- PHP面向对象构造函数,析构函数