以前一直是用JFreeChart画统计图的,不过JFreeChart画出来的图形不够精细,看起来有些模糊,今天在网上看到另外一个工具ChartDirector,这是一个商业版本的工具,不过也可以免费使用,只是在画出来的图形下面都有一条它的广告条。
下面是它的一个柱状图的例子:
范例程序:
<%@page import="ChartDirector.*" %>
<%
//The data for the bar chart
double[] data = {85, 156, 179.5, 211, 123};
//The labels for the bar chart
String[] labels = {"Mon", "Tue", "Wed", "Thu", "Fri"};
//Create a XYChart object of size 300 x 280 pixels
XYChart c = new XYChart(300, 280);
//Set the plotarea at (45, 30) and of size 200 x 200 pixels
c.setPlotArea(45, 30, 200, 200);
//Add a title to the chart
c.addTitle("Weekly Server Load");
//Add a title to the y axis
c.yAxis().setTitle("MBytes");
//Add a title to the x axis
c.xAxis().setTitle("Work Week 25");
//Add a bar chart layer with green (0x00ff00) bars using the given data
c.addBarLayer(data, 0xff00).set3D();
//Set the labels on the x axis.
c.xAxis().setLabels(labels);
//output the chart
String chart1URL = c.makeSession(request, "chart1");
//include tool tip for the chart
String imageMap1 = c.getHTMLImageMap("", "", "title='{xLabel}: {value} MBytes'")
;
%>
<html>
<body topmargin="5" leftmargin="5" rightmargin="0">
<div style="font-size:18pt; font-family:verdana; font-weight:bold">
3D Bar Chart
</div>
<hr color="#000080">
<a href="viewsource.jsp?file=<%=request.getServletPath()%>">
<font size="2" face="Verdana">View Chart Source Code</font>
</a>
</div>
<br>
<img src='<%=response.encodeURL("getchart.jsp?"+chart1URL)%>'
usemap="#map1" border="0">
<map name="map1"><%=imageMap1%></map>
</body>
</html>
如果要在柱的顶部显示数值,可以调用Layer的setDataLabelFormat方法设置,范例:layer.setDataLabelFormat("{value}");
其它的例子可以参考它的文档的说明。ChartDirector的网址:http://www.advsofteng.com
posted on 2005-06-14 17:46
小米 阅读(5230)
评论(5) 编辑 收藏 所属分类:
Java