jfreechart 封装

本文介绍如何使用Java和JFreeChart库创建折线图,并提供了一段示例代码来展示如何构造数据集并根据不同的图表类型(如柱状图、折线图等)生成对应的图表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public static JFreeChart getLineChart(String title, String xSubject, String ySubject, CategoryDataset dataset) { JFreeChart chart = ChartFactory.createLineChart(title, xSubject, ySubject, dataset, PlotOrientation.VERTICAL, true, true, false); LineRenderer3D renderer = new LineRenderer3D(); renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator()); renderer.setItemLabelsVisible(true); renderer.setPositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BOTTOM_CENTER)); CategoryPlot plot = chart.getCategoryPlot(); CategoryAxis domainAxis = plot.getDomainAxis(); //domainAxis.setVerticalCategoryLabels(false); plot.setDomainAxis(domainAxis); ValueAxis rangeAxis = plot.getRangeAxis(); //设置最高的一个 Item 与图片顶端的距离 rangeAxis.setUpperMargin(0.15); //设置最低的一个 Item 与图片底端的距离 rangeAxis.setLowerMargin(0.15); plot.setRangeAxis(rangeAxis); plot.setRenderer(renderer); //设置透明度 plot.setForegroundAlpha(0.4f); //设置背景透明度 plot.setBackgroundAlpha(0.8f); //设置背景颜色 chart.setBackgroundPaint(new Color(240,247,246)); chart.setBackgroundImageAlpha(0.3f); return chart; } 调用代码: public JFreeChart getSingleChart(String chartType) { //构造数据 double[][] data = new double[1][7]; for(int i = 0; i < 7; i ++) { data[0][i] = Math.round(Math.random()*1000); } //根据类型显示不同类型图表 String[] rowKeys = new String[]{"Rule001"}; String[] columnKeys = new String[]{"20日","21日","22日","23日","24日","25日","26日"}; CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, data); if(chartType.equals("pole")) return com.util.MyChartFactory.getBarChart("校验规则统计", "日期", "案例(个)", dataset); else if(chartType.equals("line")) return com.util.MyChartFactory.getLineChart("校验规则统计", "日期", "案例(个)", dataset); else //if(chartType.equals("area")) return com.util.MyChartFactory.getAreaChart("校验规则统计", "日期", "案例(个)", dataset); }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值