实在无力了,跪求画折线图的源代码,要求:简单就好,用jfreechart的东东,编写一个可以调用的类,里面有可以调用的方法,最好附上一个简单的调用代码,就是画出图来,憋了好久了,实在是无力了,拜谢
解决方案 »
- sqlserver新建作业的问题
- 请教达人关于JDK1.6的问题
- struts2中页面的列表中,前面想有一组自动编号的数字,应该怎么实现呢?
- 谁能告诉我WSDL2JAVA代码转换啊~~最好能给个列子什么的~~
- 初学JavaMail,请高手看看
- 关于用DreamWeaver 2004 做JSP 无法预览
- jdbc问题
- 怎样用JavaScript让text框中输入的只能是0--21的数字呢?
- 一个会员登录后在给定时间内自动失效的问题
- ●●●●在Tomcat下怎样用jsp页面调用包 com/event/下的Applet程序:applet5.java ;我老是不能调用成功:提示如下“ClassNotFoundExcept
- 关于ext+struts2数据不显示
- 学javafx 快进来,不晓得怎么解决
* 折线图
*/
/**
*
* @Description:
* @author yumang
* @version 2011-2-21 下午04:05:00
* @Email
*/
public static String generateLineChart(HttpSession session, PrintWriter pw,
int w, int h) {
String filename = null;
CategoryDataset dataset = getDataSet3();
JFreeChart chart = ChartFactory.createLineChart("各维度总分", // 图表标题
"维度", // 目录轴的显示标签
"得分", // 数值轴的显示标签
dataset, // 数据集
PlotOrientation.VERTICAL, // 图表方向:水平、垂直
true, // 是否显示图例(对于简单的柱状图必须是false)
false, // 是否生成工具
false // 是否生成URL链接
); /*----------设置消除字体的锯齿渲染(解决中文问题)--------------*/
chart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_OFF); /*------------配置图表属性--------------*/
// 1,设置整个图表背景颜色
chart.setBackgroundPaint(Color.pink); /*------------设定Plot参数-------------*/
CategoryPlot plot = chart.getCategoryPlot();
// 2,设置详细图表的显示细节部分的背景颜色
// plot.setBackgroundPaint(Color.PINK);
// 3,设置垂直网格线颜色
plot.setDomainGridlinePaint(Color.black);
// 4,设置是否显示垂直网格线
plot.setDomainGridlinesVisible(true);
// 5,设置水平网格线颜色
plot.setRangeGridlinePaint(Color.blue);
// 6,设置是否显示水平网格线
plot.setRangeGridlinesVisible(true); CategoryAxis domainAxis = plot.getDomainAxis();
Font labelFont = new Font("SansSerif", Font.TRUETYPE_FONT, 12);
domainAxis.setLabelFont(labelFont);// 轴标题
domainAxis.setTickLabelFont(labelFont);// 轴数值
domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45); // 横轴上的
// Lable
// 45度倾斜
// 设置距离图片左端距离
domainAxis.setLowerMargin(0.0);
// 设置距离图片右端距离
domainAxis.setUpperMargin(0.0); /*
* LineAndShapeRenderer lineandshaperenderer = (LineAndShapeRenderer)
* plot .getRenderer();
*
* lineandshaperenderer.setBaseShapesVisible(true); // series 点(即数据点)可见
* lineandshaperenderer.setBaseLinesVisible(true); // series
* 点(即数据点)间有连线可见
*
* //设置图例的字体显示,防止中文乱码 chart.getLegend().setItemFont(new Font("黑体", 0,
* 10)); //设置标题并且设置其字体,防止中文乱码 TextTitle textTitle = new
* TextTitle("书籍组成变化"); textTitle.setFont(new Font("宋体", Font.BOLD,
* 12)); chart.setTitle(textTitle); //设置图表子标题 chart.addSubtitle(new
* TextTitle("按月份")); //创建一个标题对象,用于放置产生图形日前 TextTitle tt = new
* TextTitle("日期:"+new Date()); //设置该标题的字体,防止中文乱码 tt.setFont(new
* Font("黑体", 0, 10)); //设置该标题的位置为产生的图形下面
* tt.setPosition(RectangleEdge.BOTTOM); //设置图片为右对齐
* tt.setHorizontalAlignment(HorizontalAlignment.RIGHT); //将该标题添加到图表
* chart.addSubtitle(tt); //设置整个图表的背景色为绿色
* chart.setBackgroundPaint(Color.green); //获取图表区域对象 CategoryPlot cp =
* chart.getCategoryPlot(); //设置图表区域背景色
* cp.setBackgroundPaint(Color.white); //设置边线不可见
* cp.setRangeGridlinesVisible(false); //设置横轴的字体,防止中文乱码
* cp.getDomainAxis().setTickLabelFont(new Font("黑体", 0, 10));
* //设置竖轴的字体,防止中文乱码 cp.getRangeAxis().setLabelFont(new Font("黑体", 0,
* 10)); //获取显示线条的对象 LineAndShapeRenderer lasp =
* (LineAndShapeRenderer)cp.getRenderer(); //设置拐点是否可见/是否显示拐点
* lasp.setBaseShapesVisible(true); //设置拐点不同用不同的形状
* lasp.setDrawOutlines(true); //设置线条是否被显示填充颜色
* lasp.setUseFillPaint(true); //设置拐点颜色
* lasp.setBaseFillPaint(Color.yellow); // 设置折线加粗
* lasp.setSeriesStroke(0, new BasicStroke(3F));
* lasp.setSeriesOutlineStroke(0, new BasicStroke(2.0F)); // 设置折线拐点
* lasp.setSeriesShape(0,new java.awt.geom.Ellipse2D.Double(-5D, -5D,
* 10D, 10D));
*/
try {
/*------得到chart的保存路径----*/
ChartRenderingInfo info = new ChartRenderingInfo(
new StandardEntityCollection());
filename = ServletUtilities.saveChartAsPNG(chart, w, h, info,
session);
/*------使用printWriter将文件写出----*/
ChartUtilities.writeImageMap(pw, filename, info, true);
pw.flush();
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} System.out.println(filename); return filename;
}filename 是图片路径 页面展示就行了
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100, "北京", "一月");
dataset.addValue(200, "北京", "二月");
return dataset;
}