JFreeChart画折线图

package lb;
import java.awt.Color;
import java.awt.Font;
import java.io.File;
import java.text.DecimalFormat;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.StandardChartTheme;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
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.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DatasetUtilities;
import org.jfree.ui.RectangleInsets;
public class Line {

public static void main(String[] args) {
StandardChartTheme mChartTheme = new StandardChartTheme("CN");
mChartTheme.setLargeFont(new Font("黑体", Font.BOLD, 20));
mChartTheme.setExtraLargeFont(new Font("宋体", Font.PLAIN, 15));
mChartTheme.setRegularFont(new Font("宋体", Font.PLAIN, 15));
ChartFactory.setChartTheme(mChartTheme);
CategoryDataset mDataset = GetDataset();
JFreeChart mChart = ChartFactory.createLineChart(
"折线图",//图名字
"邻居用户数",//横坐标
"RMSE",//纵坐标
mDataset,//数据集
PlotOrientation.VERTICAL,
true, // 显示图例
true, // 采用标准生成器
false);// 是否生成超链接
//.LIGHT_GRAY
CategoryPlot mPlot = (CategoryPlot)mChart.getPlot();
mPlot.setBackgroundPaint(Color.white);
mPlot.setRangeGridlinePaint(Color.BLUE);//背景底部横虚线
mPlot.setOutlinePaint(Color.RED);//边界线

/*
* Y轴设置
*/
NumberAxis vn = (NumberAxis) mPlot.getRangeAxis();
// DecimalFormat df = new DecimalFormat("#0.00");
// vn.setNumberFormatOverride(df); // 数据轴数据标签的显示格式
vn.setUpperMargin(0.1);
vn.setLowerMargin(0.1);
vn.setAutoRangeMinimumSize(0.01);//最小跨度
vn.setLowerBound(0.70);//最小值显示
vn.setUpperBound(1.10);
LineAndShapeRenderer lasp = (LineAndShapeRenderer) mPlot.getRenderer();// 获取显示线条的对象
lasp.setBaseShapesVisible(true);// 设置拐点是否可见/是否显示拐点
lasp.setDrawOutlines(true);// 设置拐点不同用不同的形状
lasp.setUseFillPaint(true);// 设置线条是否被显示填充颜色
lasp.setBaseFillPaint(Color.BLACK);//// 设置拐点颜色

/*
* X轴
*/
CategoryAxis domainAxis = mPlot.getDomainAxis();
//domainAxis.setCategoryLabelPositions(CategoryLabelPositions.STANDARD);
domainAxis.setLowerMargin(-0.08);

// domainAxis.setCategoryMargin(0.5);;
//System.out.println(domainAxis.getCategoryMargin());;

// domainAxis.setLabelFont(new Font("宋书", Font.PLAIN, 15)); // 设置横轴字体
// domainAxis.setTickLabelFont(new Font("宋书", Font.PLAIN, 15));// 设置坐标轴标尺值字体
// domainAxis.setLowerMargin(0.01);// 左边距 边框距离
// domainAxis.setUpperMargin(0.06);// 右边距 边框距离,防止最后边的一个数据靠近了坐标轴。
// domainAxis.setMaximumCategoryLabelLines(10);
// domainAxis.setCategoryLabelPositions(CategoryLabelPositions.DOWN_45);// 横轴 lable 的位置 横轴上的 Lable 45度倾斜 DOWN_45
// domainAxis.setm

try {
File file = new File("c:/student.png");
ChartUtilities.saveChartAsPNG(file,mChart,400,300);//把报表保存为文件
}catch (Exception e) {
String s = e.getLocalizedMessage();
s = e.getMessage();
s = e.toString();
}
ChartFrame mChartFrame = new ChartFrame("折线图", mChart);
mChartFrame.pack();
mChartFrame.setVisible(true);

}
public static CategoryDataset GetDataset()
{
DefaultCategoryDataset mDataset = new DefaultCategoryDataset();
mDataset.addValue(1.10, "First", "5");
mDataset.addValue(1.05, "First", "10");
mDataset.addValue(1.00, "First", "15");
mDataset.addValue(0.95, "First", "20");
mDataset.addValue(0.90, "First", "25");

mDataset.addValue(1.05, "Second", "5");
mDataset.addValue(1.00, "Second", "10");
mDataset.addValue(0.96, "Second", "15");
mDataset.addValue(0.91, "Second", "20");
mDataset.addValue(0.88, "Second", "25");

mDataset.addValue(1.02, "Third", "5");
mDataset.addValue(0.90, "Third", "10");
mDataset.addValue(0.88, "Third", "15");
mDataset.addValue(0.85, "Third", "20");
mDataset.addValue(0.7, "Third", "25");
return mDataset;
}

}

时间: 2024-11-05 22:53:59

JFreeChart画折线图的相关文章

Java画折线图

??? JFreeChart 是开放源代码站点SourceForge.net 上的一个 JAVA 项目,它主要用来各种各样的图表,这些图表包括:饼图.柱状图 ( 普通柱状图以及堆栈柱状图 ).线图.区域图.分布图.混合图.甘特图以及一些仪表盘等等. ??? 应用jfreechart来画图需要两个jar包:jfreechart.jar和jcommon.jar,直接去官网下载就成: https://sourceforge.net/projects/jfreechart/files/ ?? 下载完成后

python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)

最近在用python中的matplotlib画折线图,遇到了坐标轴 "数字+刻度" 混合显示.标题中文显示.批量处理等诸多问题.通过学习解决了,来记录下.如有错误或不足之处,望请指正. 一.最简单的基本框架如下:已知x,y,画出折线图并保存.此时x和y均为数字. 1 # -*- coding: utf-8 -*- 2 3 import matplotlib.pyplot as plt #引入matplotlib的pyplot子库,用于画简单的2D图 4 import random 5

IOS使用Core-Plot画折线图

关于Core-Plot的配置,大家可以参考我的上一篇博客:http://1.wildcat.sinaapp.com/?p=99 版权所有,转载请注明原文转自:http://blog.csdn.net/wildcatlele/article/details/25483923 大家可以到:http://1.wildcat.sinaapp.com/?p=102观看本篇博客更友好的排版格式 或者你英语好也可以参考github上的wiki介绍:https://code.google.com/p/core-

Cocos2d3.0 画折线图

实现用2dx画折线图,为以后用2dx开发应用做准备 下面记录下使用方法 auto lineView = DJLineChart::create(); std::vector<float> vec; vec.push_back(130); vec.push_back(520); vec.push_back(60); vec.push_back(0); vec.push_back(140); vec.push_back(100); vec.push_back(30); vec.push_back(

Matplotlib学习---用matplotlib画折线图(line chart)

这里利用Jake Vanderplas所著的<Python数据科学手册>一书中的数据,学习画图. 数据地址:https://raw.githubusercontent.com/jakevdp/data-CDCbirths/master/births.csv 准备工作:先导入matplotlib和pandas,用pandas读取csv文件,然后创建一个图像和一个坐标轴 import pandas as pd from matplotlib import pyplot as plt birth=p

unity 画折线图,饼型图插件

在unity中画折线图,和饼型图等数据分析图是很困难 的一件事,幸好我找到了一个插件很方便的解决了这件事,效果如下图: 折线图,饼型图,等. 运行效果如下: 百度网盘下载地址:链接:https://pan.baidu.com/s/10oLG1Zmffv7ASWG0pvx05w 提取码:lub1 如果链接失效,请留言. 原文地址:https://blog.51cto.com/14058389/2425723

gnuplot画折线图

之前尝试用jfreechart画自定义横坐标的折线图或时序图,发现很复杂,后来改用gnuplot了. gnuplot在网上一搜就能找到下载地址. 安装完成后,主要是命令行形式的交互界面,至少比jfreechart进步一些... set xrange [0:240]  #设置x轴范围 set yrange [1:1.5]  #设置y轴范围 set xtics ("0" 0, "60" 60, "120" 120, "180" 1

python的turtle模块画折线图

代码如下: import turtle yValues = [10.0,7.4,6.4,5.3,4.4,3.7,2.6] def main(): t = turtle.Turtle() t.hideturtle() drawLine(t,0,0,300,0) #画x轴 drawLine(t,0,0,0,175) #画y轴 #画折线 for i in range(6): drawLineWithDots(t,40 + (40 * i),15 * yValues[i],40 + (40 * (i+1

Android画折线图、柱状图、饼图(使用achartengine.jar)

自从用了画折线的jar包之后,就不想再用canvas画布去画了,编程就是要站在巨人的肩膀上. 所需要的jar包achartenginejar 折线代码布局文件就不上传了很简单 另一种线的渲染器 扇形图代码 柱状图代码 属性总结部分代码 新测试代码下载地址 所需要的jar包:achartengine.jar 下载地址:http://download.csdn.net/detail/zhengyikuangge/9460642 折线代码(布局文件就不上传了,很简单): package com.exa