利用JFreeChart生成区域图

 

通过JFreeChart插件只能生成普通效果的区域图,利用工厂类ChartFactory的createXYAreaChart()方法获得JFreeChart类的实例,在封装用来绘制区域图的数据时,既可以利用CategoryDataset数据集,也可以利用XYDataset数据集。

XYDataset数据集主要用来绘制与日期相关的统计图,这种统计图的横轴通常为日期标度,纵轴为数值标度,JFreeChart提供了格式化坐标轴标度的功能;在格式化横轴的日期标度时,可以通过java.text.SimpleDateFormat类格式化日期的输出格式,SimpleDateFormat类继承于java.text.DateFormat类。例如,通过下面的代码可以将日期和时间进行格式化:

DateFormat dateFormatDA = new SimpleDateFormat("yyyy-MM-dd");     // 年以4位显示

DateFormat dateFormatDB = new SimpleDateFormat("yy-MM-dd");       // 年以2位显示

DateFormat dateFormatTA = new SimpleDateFormat("HH:MM:SS");       // 24小时的形式显示

DateFormat dateFormatTB = new SimpleDateFormat("HH:MM:SS a");    // 12小时的形式显示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一些帮助。 JFreeChart是一个Java开发的表库,它可以用于生成各种类型的表,包括雷达。下面是一个简单的示例代码,演示了如何使用JFreeChart生成带刻度的雷达(蜘蛛网): ```java import java.awt.Color; import java.awt.Font; import java.awt.GradientPaint; import java.awt.Paint; import java.util.ArrayList; import java.util.List; import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.CategoryPlot; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.plot.RadarChartPlot; import org.jfree.chart.renderer.DefaultPolarItemRenderer; import org.jfree.data.category.DefaultCategoryDataset; import org.jfree.data.general.DatasetUtilities; public class RadarChartExample { public static void main(String[] args) { // 创建数据集 DefaultCategoryDataset dataset = new DefaultCategoryDataset(); dataset.addValue(1.0, "Series 1", "Category 1"); dataset.addValue(4.0, "Series 1", "Category 2"); dataset.addValue(3.0, "Series 1", "Category 3"); dataset.addValue(5.0, "Series 1", "Category 4"); dataset.addValue(2.0, "Series 1", "Category 5"); // 创建JFreeChart chart = ChartFactory.createRadarChart( "Radar Chart", // 标题 null, // x轴标签 null, // y轴标签 dataset, // 数据集 PlotOrientation.VERTICAL, // 表方向 true, // 是否显示例 true, // 是否生成工具 false // 是否生成URL链接 ); // 设置背景色 chart.setBackgroundPaint(new GradientPaint(0, 0, new Color(220, 220, 220), 0, 1000, new Color(220, 220, 220))); // 设置区域的背景色 CategoryPlot plot = (CategoryPlot) chart.getPlot(); plot.setBackgroundPaint(new Color(255, 255, 255)); plot.setRangeGridlinePaint(Color.gray); // 设置雷达区域的背景色 RadarChartPlot radarPlot = (RadarChartPlot) plot.getPlot(); radarPlot.setBackgroundPaint(new Color(255, 255, 255)); radarPlot.setAxisLinePaint(new Color(255, 255, 255)); // 设置字体 Font font = new Font("Dialog", Font.BOLD, 14); plot.getDomainAxis().setLabelFont(font); plot.getRangeAxis().setLabelFont(font); radarPlot.setLabelFont(font); // 设置刻度 List<Double> values = new ArrayList<>(); values.add(0.2); values.add(0.4); values.add(0.6); values.add(0.8); values.add(1.0); double[][] data = DatasetUtilities.createCategoryDataset("Series ", "", values.toArray(new Double[0])).getCategoryCount(); plot.setDataset(DatasetUtilities.createCategoryDataset("Series ", "", values.toArray(new Double[0]))); DefaultPolarItemRenderer renderer = new DefaultPolarItemRenderer(); renderer.setSeriesPaint(0, new Color(0, 0, 255, 128)); renderer.setSeriesFillPaint(0, new Color(0, 0, 255, 64)); radarPlot.setRenderer(renderer); // 显示表 ChartFrame frame = new ChartFrame("Radar Chart", chart); frame.pack(); frame.setVisible(true); } } ``` 上面的示例代码使用了DefaultCategoryDataset类来创建数据集,它是JFreeChart提供的一个实现了CategoryDataset接口的类。在创建表时,需要指定数据集、表方向、是否显示例、是否生成工具和是否生成URL链接等参数。在设置区域和雷达区域的背景色、字体和刻度时,需要使用CategoryPlot和RadarChartPlot类的相关方法。最后,使用ChartFrame类将表显示出来。 希望这能够帮助到您。如果您有任何问题,请随时问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值