码迷,mamicode.com
首页 > 编程语言 > 详细

Java 创建Excel散点图

时间:2020-02-21 09:30:57      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:core   实例化   otto   setname   alignment   java程序   第一个   new   string   

Java 创建Excel散点图
散点图是指在回归分析中,数据点在直角坐标系平面上的分布图,表示因变量随自变量而变化的大致趋势,常用于比较跨类别的聚合数据。在excel中,支持创建散点图来实现数据分析,本文将通过java程序代码示例来介绍具体实现方法。

工具:Free Spire.XLS for Java (免费版)

注:可通过官网下载,解压并将lib文件夹下的jar文件导入java程序。也可通过maven仓库下载导入。这里可支持的图标类型多达70多种,如柱形图、饼状图、折线图、散点图、混合图、雷达图、气泡图等等。本文以创建散点图为例。

Java 代码示例

import com.spire.xls.*;
import com.spire.xls.core.IChartTrendLine;

public class ScatterChart {
public static void main(String[] args) {
//实例化Workbook类的对象,并获取第一个工作表
Workbook workbook = new Workbook();
Worksheet sheet = workbook.getWorksheets().get(0);

    //设置列宽,工作表名  
    sheet.getCellRange("A1:B1").setColumnWidth(15f);;  
    sheet.setName("散点图");  

    //添加图表数据源  
    sheet.getCellRange("A1").setValue("城市化水平");  
    sheet.getCellRange("A2").setValue("10");  
    sheet.getCellRange("A3").setValue("15");  
    sheet.getCellRange("A4").setValue("17");  
    sheet.getCellRange("A5").setValue("25");  
    sheet.getCellRange("A6").setValue("35");  
    sheet.getCellRange("A7").setValue("40");  
    sheet.getCellRange("A8").setValue("38");  
    sheet.getCellRange("A10").setValue ("17");  
    sheet.getCellRange("A9").setValue ("24");  
    sheet.getCellRange("B1").setValue("耕地面积");  
    sheet.getCellRange("B2").setValue ("26780");  
    sheet.getCellRange("B3").setValue("24086");  
    sheet.getCellRange("B4").setValue ("20546");  
    sheet.getCellRange("B5").setValue ("15057");  
    sheet.getCellRange("B6").setValue ("11036");  
    sheet.getCellRange("B7").setValue ("12546");  
    sheet.getCellRange("B8").setValue("9854");  
    sheet.getCellRange("B9").setValue ("13506");  
    sheet.getCellRange("B10").setValue ("18756");  

    //创建散点图  
    Chart chart = sheet.getCharts().add(ExcelChartType.ScatterMarkers);  
    chart.setDataRange(sheet.getCellRange("B2:B10"));  
    chart.setSeriesDataFromRange(false);  

    //指定散点图在sheet中的位置  
    chart.setLeftColumn(4);  
    chart.setTopRow(1);  
    chart.setRightColumn(15);  
    chart.setBottomRow(25);  

    //添加图表标题、系列标签  
    chart.setChartTitle("城市化与耕地面积变化散点图");  
    chart.getChartTitleArea().isBold(true);;  
    chart.getChartTitleArea().setSize(12);  
    chart.getSeries().get(0).setCategoryLabels(sheet.getCellRange("B2:B10"));  
    chart.getSeries().get(0).setValues(sheet.getCellRange("A2:A10"));  
    sheet.getCellRange("A1:B10").getStyle().setHorizontalAlignment(HorizontalAlignType.Center);  
    sheet.getCellRange("A1:B1").getStyle().getFont().isBold(true);  

    //添加趋势线  
    IChartTrendLine trendLine = chart.getSeries().get(0).getTrendLines().add(TrendLineType.Exponential);  
    trendLine.setName("趋势线");  

    //添加坐标轴名称  
    chart.getPrimaryValueAxis().setTitle("城市化水平(%)");  
    chart.getPrimaryCategoryAxis().setTitle("耕地面积(万hm^2)");  

    //保存文档  
    workbook.saveToFile("ScatterChart.xlsx",ExcelVersion.Version2010);  
    workbook.dispose();  
}  

}
喜欢这样文章的可以关注我,我会持续更新,你们的关注是我更新的动力!需要更多java学习资料的也可以私信我!
祝关注我的人都:身体健康,财源广进,福如东海,寿比南山,早生贵子,从不掉发!

Java 创建Excel散点图

标签:core   实例化   otto   setname   alignment   java程序   第一个   new   string   

原文地址:https://blog.51cto.com/14623707/2472509

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!