ITPub博客

首页 > 应用开发 > Java > Java 创建 Excel 散点图

Java 创建 Excel 散点图

原创 Java 作者:Jazzz 时间:2020-07-28 16:03:22 0 删除 编辑

散点图是研究数据分布时常用的一种工具,通过观察散点图中坐标点的位置,可以帮助用户更加清晰直观的判断变量间是否存在关联关系。 本文将介绍如何使用Free Spire.XLS for Java Excel 中创建散点图。


JAR包导入:

方法1:下载 包并解压缩,然后将lib文件夹下的Spire.Xls.jar包作为依赖项导入到Java应用程序中。

方法2: 直接通过Maven仓库安装JAR包,配置pom.xml文件的代码如下

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls.free</artifactId>
        <version>2.2.0</version>
    </dependency>
</dependencies>


创建散点图:

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();
    }
}





来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69968349/viewspace-2707506/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-03-25

  • 博文量
    26
  • 访问量
    16079