}
4.1.2 由ChartFactory 产生 JFreeChart 对象
public JFreeChart createChart( PieDataset dataset ){
上面这些是对图像标题名称、数据源的命名和定义,
JFreeChartchart=ChartFactory.createPieChart(“PieChartDemo”,dataset,true,true,false);
chart.setBackgroundPaint(java.awt.Color.white);
这些则是设置图片的背景色
PiePlot plot = (PiePlot)chart.getPlot();//通过JFreeChart获取plot。
plot.setNoDataMessage("No data available");
plot.setOutlinePaint(new Color(0x99, 0x99, 0xFF));return chart;}
4.1.3 创建主程序运行
public static void main(String[] args){
PieChart chart = new PieChart();
JFreeChart jfc = chart.createChart(chart.createDataset());
ApplicationFrame frame = new ApplicationFrame("饼图实例");
ChartPanel panel = new ChartPanel(jfc);
frame.setContentPane( panel );
frame.pack();
frame.setVisible(true);
RefineryUtilities.centerFrameOnScreen(frame);
4.1.4 设置饼图外观
我在设计过程中用到创建setChartFace( JFreeChart chart )的方法,用于修改饼图的视觉效果
public void setChartFace( JFreeChart chart ){
String unitSytle = "{0}={1}({2})";
try {
用来设置图片的背景色
chart.setBackgroundPaint(new Color(215,215,215));
用来设置透明度,不过我发现好像对servlet没有用
chart.setBackgroundImageAlpha(0.5f);
用来设置图片标题的字体和大小
TextTitle _title = new TextTitle("饼图演示");
Font titleFont = new Font("黑体",Font.CENTER_BASELINE,18);
_title.setFont(titleFont);
chart.setTitle(_title);
PiePlot plot = (PiePlot) chart.getPlot();
用来指定 section 轮廓线的厚度(OutlinePaint不能为null)
plot.setOutlineStroke(new BasicStroke(0));
用来设置第一个 section 的开始位置,默认是12点钟方向
plot.setStartAngle(90);
plot.setToolTipGenerator(new StandardPieItemLabelGenerator(unitSytle,
NumberFormat.getNumberInstance(),
new DecimalFormat("0.00%")));
用来指定图片的透明度
plot.setForegroundAlpha(0.65f);
用来引出标签显示样式
plot.setLabelGenerator(new StandardPieItemLabelGenerator(unitSytle,
NumberFormat.getNumberInstance(),
new DecimalFormat("0.00%")));
4.1.5 制作饼图过程中的JSP配置问题
在用JSP来将公司人员的数据显示在网页的过程中,我遇到了比较麻烦的问题,就是对servlet的配置。
后来我看了下参考文献,只要对web.xml文件重新进行配置,在web.xml中配置用于显示图表的Servlet:
<servlet>
<servlet-name>DisplayChart</servlet-name>
<servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DisplayChart</servlet-name>
<url-pattern>/servlet/DisplayChart</url-pattern>
</servlet-mapping>
这样,整个环境就算配置完成了。
4.2 Application版本的图形运行及调试
在编译完程序代码后,要开始进一步进行软件的运行以及调试工作。
4.2.1 Application版本的饼图运行,调试
图 4.2 Application版本的饼图
我新建了一个project叫做com.pie,作为公司人员结构的饼图存放项目,该java文件输出的就是当前已经录入的某公司人员数据结构。效果如下图所示:
图 4.3 pie效果图
可以看到,通过如上的饼图结构,可以大致地让使用者了解该公司里的每个部门人数的组成部分所占的比例。
4.2.2 Application版本的柱状图运行,调试 基于jfreechart的动态数据可视化应用开发(10):http://www.751com.cn/jisuanji/lunwen_823.html