- 浏览: 46672 次
- 性别:
- 来自: 广州
最新评论
-
周佩煌:
怎么使用啊,表示不会用啊!
marker显示(openlayers+google) -
kuchaguangjie:
用上了,呵呵!
freemarker遍历map -
tang&qiang:
(新手)能给点说明吗???这样看着头晕的很...
从互联网(路径)将图片转化为byte数组
//曲线图
public String imageLine(TimeSeries chinaTs,HttpSession session) {
String title = "访问量统计";
String domain = "";
String range = "访问量";
TimeSeriesCollection dataset = new TimeSeriesCollection();
dataset.removeAllSeries();
dataset.addSeries(chinaTs);
JFreeChart chart = ChartFactory.createTimeSeriesChart(title, domain,
range, dataset, true, true, false);
Font font = new Font("宋体", Font.PLAIN, 12);
XYPlot plot = (XYPlot) chart.getPlot();
XYLineAndShapeRenderer xylineandshaperenderer = (XYLineAndShapeRenderer) plot
.getRenderer();
plot.setBackgroundPaint(new Color(199, 237, 204));
xylineandshaperenderer.setBaseShapesVisible(true);
xylineandshaperenderer.setBaseItemLabelsVisible(true);
DateAxis axis = (DateAxis) plot.getDomainAxis();
plot.getRangeAxis().setLabelFont(font);
chart.getLegend().setItemFont(font);
axis.setLabelFont(font);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
axis.setDateFormatOverride(format);
chart.setTitle(new TextTitle(chart.getTitle().getText(), font));
chart.getLegend().setItemFont(font);
String filename = "";
try {
FreeChartUtil.setVisitImageBase(visitImageBase);
filename = FreeChartUtil.saveChartAsJPEG(chart, 700, 400, session);
} catch (IOException e) {
}
model.addAttribute("graphURL",
"<img src='http://jchen.iteye.com/admin/" + filename
+ "'>");
return "";
}
FreeChartUtil 重写了图片的保存路径
jfreeChart在unix下运行的中文字体问题还是给我们带来了诸多不便,如果在unix下找不到相应的中文字体,中文将会被小方框取代
//柱形图
public String imageBar(DefaultCategoryDataset dataset, HttpSession session) {
// 图表标题 X轴标签 Y轴标签 数据集合 图表方向:垂直 是否显示图例 是否生成工具 是否生成URL链接
JFreeChart chart = ChartFactory.createBarChart3D("", "", "访问量",
dataset, PlotOrientation.VERTICAL, false, false, false);
chart.setTitle(new TextTitle("访问量统计", new Font("宋体",
Font.ITALIC, 22)));
chart.setBackgroundPaint(Color.WHITE);
BarRenderer3D renderer = new BarRenderer3D();
renderer.setSeriesPaint(0, Color.ORANGE);
renderer.setWallPaint(new Color(199, 237, 204));
renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setItemLabelFont(new Font("宋体", Font.PLAIN, 12));
renderer.setItemLabelsVisible(true);
CategoryPlot plot = chart.getCategoryPlot();
plot.setBackgroundPaint(new Color(199, 237, 204));
CategoryAxis domainAxis = plot.getDomainAxis();
Font font = new Font("宋体", Font.PLAIN, 12);
domainAxis.setLabelFont(font);
domainAxis.setTickLabelFont(font);
domainAxis.setTickLabelPaint(Color.BLACK);
domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
plot.setDomainAxis(domainAxis);
ValueAxis rangeAxis = plot.getRangeAxis();
rangeAxis.setLabelFont(font);
rangeAxis.setLabelPaint(Color.BLACK);
rangeAxis.setTickLabelFont(font);
rangeAxis.setUpperMargin(0.15);
rangeAxis.setLowerMargin(0.15);
plot.setRangeAxis(rangeAxis);
plot.setRenderer(renderer);
String filename = "";
try {
FreeChartUtil.setVisitImageBase(visitImageBase);
filename = FreeChartUtil.saveChartAsJPEG(chart, 700, 400, session);
} catch (IOException e) {
}
return "";
}
//饼图
public String imagePie(DefaultPieDataset defaultpiedataset, HttpSession session) {
JFreeChart chart = ChartFactory.createPieChart("访问量统计",
defaultpiedataset, false, true, false);
TextTitle txtTitle = chart.getTitle();
txtTitle.setFont(new Font("宋体", 0, 16));
PiePlot pieplot = (PiePlot) chart.getPlot();
pieplot.setLabelFont(new Font("宋体", 0, 12));
pieplot.setNoDataMessage("无数据");
pieplot.setCircular(true);
pieplot.setLabelGap(0.02D);
pieplot.setBackgroundPaint(new Color(199, 237, 204));
pieplot.setLabelGenerator(new StandardPieSectionLabelGenerator(
"{0} {2}", NumberFormat.getNumberInstance(), new DecimalFormat(
"0.00%")));
LegendTitle legendtitle = new LegendTitle(chart.getPlot());
BlockContainer blockcontainer = new BlockContainer(
new BorderArrangement());
LabelBlock labelblock = new LabelBlock("", new Font("宋体", 1, 12));
labelblock.setPadding(5D, 5D, 5D, 5D);
blockcontainer.add(labelblock, RectangleEdge.TOP);
SimpleDateFormat df = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
LabelBlock labelblock1 = new LabelBlock(df.format(new Date()));
labelblock1.setPadding(8D, 20D, 2D, 5D);
blockcontainer.add(labelblock1, RectangleEdge.BOTTOM);
BlockContainer blockcontainer1 = legendtitle.getItemContainer();
blockcontainer1.setPadding(2D, 10D, 5D, 2D);
blockcontainer.add(blockcontainer1);
legendtitle.setWrapper(blockcontainer);
legendtitle.setPosition(RectangleEdge.RIGHT);
legendtitle.setHorizontalAlignment(HorizontalAlignment.LEFT);
chart.addSubtitle(legendtitle);
chart.setBackgroundPaint(new Color(199, 237, 204));
String filename = "";
try {
FreeChartUtil.setVisitImageBase(visitImageBase);
filename = FreeChartUtil.saveChartAsJPEG(chart, 700, 400, session);
} catch (IOException e) {
}
return "";
}
所需包
<dependency>
<groupId>jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>1.0.13</version>
</dependency>
<dependency>
<groupId>jfree</groupId>
<artifactId>jcommon</artifactId>
<version>1.0.2</version>
</dependency>
public String imageLine(TimeSeries chinaTs,HttpSession session) {
String title = "访问量统计";
String domain = "";
String range = "访问量";
TimeSeriesCollection dataset = new TimeSeriesCollection();
dataset.removeAllSeries();
dataset.addSeries(chinaTs);
JFreeChart chart = ChartFactory.createTimeSeriesChart(title, domain,
range, dataset, true, true, false);
Font font = new Font("宋体", Font.PLAIN, 12);
XYPlot plot = (XYPlot) chart.getPlot();
XYLineAndShapeRenderer xylineandshaperenderer = (XYLineAndShapeRenderer) plot
.getRenderer();
plot.setBackgroundPaint(new Color(199, 237, 204));
xylineandshaperenderer.setBaseShapesVisible(true);
xylineandshaperenderer.setBaseItemLabelsVisible(true);
DateAxis axis = (DateAxis) plot.getDomainAxis();
plot.getRangeAxis().setLabelFont(font);
chart.getLegend().setItemFont(font);
axis.setLabelFont(font);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
axis.setDateFormatOverride(format);
chart.setTitle(new TextTitle(chart.getTitle().getText(), font));
chart.getLegend().setItemFont(font);
String filename = "";
try {
FreeChartUtil.setVisitImageBase(visitImageBase);
filename = FreeChartUtil.saveChartAsJPEG(chart, 700, 400, session);
} catch (IOException e) {
}
model.addAttribute("graphURL",
"<img src='http://jchen.iteye.com/admin/" + filename
+ "'>");
return "";
}
FreeChartUtil 重写了图片的保存路径
jfreeChart在unix下运行的中文字体问题还是给我们带来了诸多不便,如果在unix下找不到相应的中文字体,中文将会被小方框取代
//柱形图
public String imageBar(DefaultCategoryDataset dataset, HttpSession session) {
// 图表标题 X轴标签 Y轴标签 数据集合 图表方向:垂直 是否显示图例 是否生成工具 是否生成URL链接
JFreeChart chart = ChartFactory.createBarChart3D("", "", "访问量",
dataset, PlotOrientation.VERTICAL, false, false, false);
chart.setTitle(new TextTitle("访问量统计", new Font("宋体",
Font.ITALIC, 22)));
chart.setBackgroundPaint(Color.WHITE);
BarRenderer3D renderer = new BarRenderer3D();
renderer.setSeriesPaint(0, Color.ORANGE);
renderer.setWallPaint(new Color(199, 237, 204));
renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setItemLabelFont(new Font("宋体", Font.PLAIN, 12));
renderer.setItemLabelsVisible(true);
CategoryPlot plot = chart.getCategoryPlot();
plot.setBackgroundPaint(new Color(199, 237, 204));
CategoryAxis domainAxis = plot.getDomainAxis();
Font font = new Font("宋体", Font.PLAIN, 12);
domainAxis.setLabelFont(font);
domainAxis.setTickLabelFont(font);
domainAxis.setTickLabelPaint(Color.BLACK);
domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
plot.setDomainAxis(domainAxis);
ValueAxis rangeAxis = plot.getRangeAxis();
rangeAxis.setLabelFont(font);
rangeAxis.setLabelPaint(Color.BLACK);
rangeAxis.setTickLabelFont(font);
rangeAxis.setUpperMargin(0.15);
rangeAxis.setLowerMargin(0.15);
plot.setRangeAxis(rangeAxis);
plot.setRenderer(renderer);
String filename = "";
try {
FreeChartUtil.setVisitImageBase(visitImageBase);
filename = FreeChartUtil.saveChartAsJPEG(chart, 700, 400, session);
} catch (IOException e) {
}
return "";
}
//饼图
public String imagePie(DefaultPieDataset defaultpiedataset, HttpSession session) {
JFreeChart chart = ChartFactory.createPieChart("访问量统计",
defaultpiedataset, false, true, false);
TextTitle txtTitle = chart.getTitle();
txtTitle.setFont(new Font("宋体", 0, 16));
PiePlot pieplot = (PiePlot) chart.getPlot();
pieplot.setLabelFont(new Font("宋体", 0, 12));
pieplot.setNoDataMessage("无数据");
pieplot.setCircular(true);
pieplot.setLabelGap(0.02D);
pieplot.setBackgroundPaint(new Color(199, 237, 204));
pieplot.setLabelGenerator(new StandardPieSectionLabelGenerator(
"{0} {2}", NumberFormat.getNumberInstance(), new DecimalFormat(
"0.00%")));
LegendTitle legendtitle = new LegendTitle(chart.getPlot());
BlockContainer blockcontainer = new BlockContainer(
new BorderArrangement());
LabelBlock labelblock = new LabelBlock("", new Font("宋体", 1, 12));
labelblock.setPadding(5D, 5D, 5D, 5D);
blockcontainer.add(labelblock, RectangleEdge.TOP);
SimpleDateFormat df = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
LabelBlock labelblock1 = new LabelBlock(df.format(new Date()));
labelblock1.setPadding(8D, 20D, 2D, 5D);
blockcontainer.add(labelblock1, RectangleEdge.BOTTOM);
BlockContainer blockcontainer1 = legendtitle.getItemContainer();
blockcontainer1.setPadding(2D, 10D, 5D, 2D);
blockcontainer.add(blockcontainer1);
legendtitle.setWrapper(blockcontainer);
legendtitle.setPosition(RectangleEdge.RIGHT);
legendtitle.setHorizontalAlignment(HorizontalAlignment.LEFT);
chart.addSubtitle(legendtitle);
chart.setBackgroundPaint(new Color(199, 237, 204));
String filename = "";
try {
FreeChartUtil.setVisitImageBase(visitImageBase);
filename = FreeChartUtil.saveChartAsJPEG(chart, 700, 400, session);
} catch (IOException e) {
}
return "";
}
所需包
<dependency>
<groupId>jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>1.0.13</version>
</dependency>
<dependency>
<groupId>jfree</groupId>
<artifactId>jcommon</artifactId>
<version>1.0.2</version>
</dependency>
发表评论
-
OpenLayers部分方法事件
2012-04-06 10:30 9277一、设置中心坐标 map.setCenter(point, z ... -
marker显示(openlayers+google)
2012-04-06 10:15 2342function initMap(type) { var l ... -
openlayers+google
2012-04-06 10:06 11711.先下载openlayers(http://openlaye ... -
查看SISSON
2012-02-08 09:57 627select * from v$locked_object s ... -
ORACLE创建用户及导入、导出
2012-02-08 09:54 1282默认用户: system/manager scott/tige ... -
ORACLE连接|周、DECODE以及树查询
2012-02-08 09:36 1056jdbc:oracle:thin:@(DESCRIPTION= ... -
Unix下SVN部分操作
2011-03-02 14:22 835下载 svn checkout http://ip/项目名/t ... -
JfreeChart使用经验总结
2010-12-20 16:52 927转载于:http://blog.csdn.ne ... -
FusionCharts
2010-12-20 16:48 1028public String vImage(Model mode ... -
按时间为jfreechart数据源
2010-12-20 16:30 979public String getDataSet( @P ... -
JFreeChart改变图片的保存路径
2010-12-20 16:21 1645继承ServletUtilities,若生成的图片格式为jpg ... -
从互联网(路径)将图片转化为byte数组
2010-11-25 15:42 2041public byte[] getBytes(String f ... -
从互联网保存图片到本地
2010-11-25 15:33 886public byte[] saveImage(String ... -
java遍历map
2010-11-09 17:17 969Map<String, Map<String, O ... -
freemarker 三种将科学计数法转化为阿拉伯数字格式的方法
2010-10-20 12:40 3131freemarker默认显示是科学计数法 1:加c,如${ma ... -
ibatis 的like查询
2010-09-28 13:21 807name like '%$name$%' 会有注入漏洞 na ... -
freemarker遍历map
2010-09-26 17:36 9034<#if bookMap?exists> ... -
ibatis的批量存储
2010-09-26 17:30 941public void saveItemBatch(final ... -
安装maven
2010-09-26 17:22 2411maven环境变量 JAVA_HOME:D:\Java\jdk ... -
Excel文件操作(jxl)
2010-09-26 16:51 845操作配置 <dependency> <gro ...
相关推荐
标题 "jfreechart部署在Linux服务器上生成图片乱码的解决方案" 涉及到的主要知识点是关于Java图形库JFreeChart在Linux环境中的使用,特别是解决中文字符乱码的问题。JFreeChart是一个广泛使用的开源Java库,它允许...
Cewolf是另一个基于Java的开源库,主要用于在Web环境中展示由JFreeChart生成的图表。它通过Servlet技术将JFreeChart的静态图表转化为动态的、交互式的Web图表。Cewolf提供了简单易用的API,使得开发者无需深入理解...
描述中提到的博客链接虽然无法直接访问,但通常博主会分享具体的代码示例和实现过程,帮助读者理解如何使用JFreeChart生成图片并保存到文件系统。从标签“源码”和“工具”来看,这篇博客可能会提供一些实用的代码...
首先,我们需要确保JFreeChart生成的图片能够正确保存到Tomcat的temp目录。这通常涉及到配置JFreeChart生成图表时的输出流。例如,我们可能需要使用`FileOutputStream`指定目标路径,并确保该路径对Tomcat有写入权限...
1. **解压文件**:首先解压下载的jfreechart-1.0.12.zip文件至指定位置。 2. **确定核心文件**:主要关注的文件包括`jfreechart-1.0.12.jar`、`jcommon-1.0.15.jar`以及`gnujaxp.jar`。 - `jcommon-1.0.15.jar`包含...
生成的图表可以保存为图片文件,再通过SSH返回到本地,或者直接在服务器端渲染并在Web页面上展示。 为了实现这个功能,首先需要确保在本地和远程环境中都正确配置了SSH连接。然后,在Java代码中,使用SSH库建立连接...
对于Web应用,通常会通过Servlet生成图表并以图片的形式返回给客户端。同时,配合使用如`ServletOutputStream`和`Graphics2D`,可以在服务器端动态生成图表并直接输出到HTTP响应中。 总之,JFreeChart是Java开发中...
在服务器端,你可以使用 JFreeChart 创建所需的图表,然后将其转换为图片,最后将图片发送到客户端的浏览器显示。这个过程涉及的主要步骤包括: 1. 初始化 JFreeChart 对象,设置图表的类型、数据源和样式。 2. ...
这样,浏览器可以直接显示由服务器生成的图表,而无需先保存到服务器或客户端的硬盘上。 第四种方法是将图表作为附件提供下载。在Action中生成图表后,可以将其保存为文件,然后通过Struts2的FileResult或...
用户可从JFree的官方网站免费下载JFreeChart的最新版本及其相关文档,虽然部分文档需要付费。以版本jfreechart-1.0.12.zip为例,该压缩包包含源码、示例程序jfreechart-1.0.12-demo.jar及必要的库文件。 #### ...
最后,这些图像数据可以在服务器端生成的 HTML 页面中作为内联图片展示。通过将 Base64 编码的图像数据嵌入到 `img` 标签的 `src` 属性中,用户就能在浏览器上看到图表。 总的来说,JFreeChart 是一个强大的 Java ...
无论是在客户端显示还是服务器端生成图片,`JFreeChart`都提供了丰富的API和灵活的配置选项,满足不同的应用场景需求。希望本篇文章能够帮助开发者更好地理解和掌握`JFreeChart`的使用方法,从而提高数据可视化的...
二是直接在服务器端生成图表图片,并将其发送至浏览器。前者由于其较高的客户端要求及现代浏览器对Java Applet的支持减弱,已逐渐退出主流。因此,本篇文章将着重介绍如何使用JFreeChart这一强大的Java图表引擎来...
7. **生成图片文件(或二进制流)**:最终生成可视化的图表图片。 #### 四、JFreeChart在管理信息系统中的实现案例 以某煤矸石热电厂管理信息系统为例,该系统基于J2EE技术的B/S架构模式,采用Struts和Hibernate的...
- **Web 开发**:将 lib 目录下的 `jcommon-1.0.0-rc1.jar` 和 `jfreechart-1.0.0-rc1.jar` 放置于 web 应用程序的 `WEB-INF/lib` 目录。 - **Java 开发**:将这两个 jar 包添加到项目的 classpath 环境变量中。 ...
在"MakeSiper"这个示例中,可能是利用JFreeChart生成某种特定类型的图表,如销售数据报告。通过解析项目中的代码,我们可以了解到如何将实际数据整合到JFreeChart中,以及如何定制图表的外观和交互功能。 总结,...
JFreeChart 的 API 设计灵活,允许开发者创建动态、交互式的图表,并能轻松地集成到各种 Java 应用程序中,如 Web 应用、桌面应用以及服务器端应用。 在 JFreeChart-1.0.6 版本中,API 提供了大量类和接口,用于...