jfree生成折线图插入Excel表格

本文介绍了如何在Java项目中利用JFreeChart库生成折线图,并将生成的图表插入到Excel表格中,包括添加相关依赖、创建折线图以及整合到Excel的过程。
摘要由CSDN通过智能技术生成

1. 添加依赖

	<!-- https://mvnrepository.com/artifact/org.jfree/jfreechart -->
	<dependency>
	    <groupId>org.jfree</groupId>
	    <artifactId>jfreechart</artifactId>
	    <version>1.5.0</version>
	</dependency>

 

2. 生成折线图

	public File createChartLine(ArrayList<String[]> detail) {
		//添加数据集
		DefaultCategoryDataset dataset = new DefaultCategoryDataset();

		for(int i=0; i<detail.size(); i++) {
			//col value, line name, row value
			dataset.addValue(Integer.valueOf(detail.get(i)[2]), "Detail",detail.get(i)[0]);
		}
		
		//创建折线图
		JFreeChart chart = ChartFactory.createLineChart("曲线", "项", "数据", 
				dataset, PlotOrientation.VERTICAL, true, true, false);
		
		//设置主标题字体
		chart.getTitle().setFont(new Font("宋体", Font.BOLD, 18));
		chart.getTitle()
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用iTextPDF库来生成PDF文档,并通过添加图表来生成折线图。以下是一个示例代码,演示了如何使用iTextPDF生成折线图: ```java import com.itextpdf.io.IOException; import com.itextpdf.kernel.colors.ColorConstants; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.*; import com.itextpdf.layout.property.HorizontalAlignment; import com.itextpdf.layout.property.TextAlignment; import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import java.awt.*; import java.io.File; public class LineChartExample { public static void main(String[] args) { // 创建数据集 DefaultCategoryDataset dataset = new DefaultCategoryDataset(); dataset.addValue(1, "Series 1", "Category 1"); dataset.addValue(2, "Series 1", "Category 2"); dataset.addValue(3, "Series 1", "Category 3"); dataset.addValue(4, "Series 1", "Category 4"); // 创建折线图 JFreeChart chart = ChartFactory.createLineChart( "Line Chart Example", "Category", "Value", dataset, PlotOrientation.VERTICAL, true, true, false ); // 创建PDF文档 String outputFilePath = "line_chart.pdf"; try { PdfWriter writer = new PdfWriter(outputFilePath); PdfDocument pdfDoc = new PdfDocument(writer); Document doc = new Document(pdfDoc); // 添加标题 Paragraph title = new Paragraph("Line Chart Example") .setFontSize(20) .setBold() .setTextAlignment(TextAlignment.CENTER) .setMarginTop(50); doc.add(title); // 将折线图转换为图片 File chartImageFile = new File("line_chart.png"); ChartUtils.saveChartAsPNG(chartImageFile, chart, 500, 300); // 添加折线图图片到PDF文档 Image chartImage = new Image(ImageDataFactory.create(chartImageFile.getAbsolutePath())); doc.add(chartImage.setHorizontalAlignment(HorizontalAlignment.CENTER)); // 关闭文档 doc.close(); System.out.println("PDF生成成功!"); } catch (IOException e) { e.printStackTrace(); } catch (java.io.IOException e) { e.printStackTrace(); } } } ``` 这个示例代码使用了iTextPDF和JFreeChart库来生成PDF文档和折线图。首先创建了一个数据集,然后使用数据集创建折线图。接下来,通过iTextPDF库创建PDF文档,并将折线图转换为图片,最后将图片添加到PDF文档中。 请确保在运行代码之前已经添加了iTextPDF和JFreeChart的依赖库。你可以从官方网站下载并导入这些库。 希望这个示例能帮到你!如果有任何问题,请随时向我提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值