散点图是通过两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。散点图将序列显示为一组点,值由点在图表中的位置表示,类别由图表中的不同标记表示,通常用于比较跨类别的聚合数据。本文将为您介如何通过Java代码在PowerPoint幻灯片中创建散点图。以下是我整理的具体方法及思路,并附上Java代码供大家参考。

代码编译环境:

IntelliJ IDEA 2018(jdk 1.8.0)

Presentation Jar包:Free Spire.Presentation for Java 5.1.0

引入jar

导入方法1:

手动引入。将Free Spire. Presentation for Java下载到本地,解压,找到lib文件夹下的Spire. Presentation.jar文件。在IDEA中打开如下界面,将本地路径中的jar文件引入Java程序:

导入方法2:如果您想通过 Maven安装,则可以在 pom.xml 文件中添加以下代码导入 JAR 文件。

  1. <repositories>
  2.  
  3. <repository>
  4.  
  5. <id>com.e-iceblue</id>
  6.  
  7. <name>e-iceblue</name>
  8.  
  9. <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
  10.  
  11. </repository>
  12.  
  13. </repositories>
  14.  
  15. <dependencies>
  16.  
  17. <dependency>
  18.  
  19. <groupId>e-iceblue</groupId>
  20.  
  21. <artifactId>spire.presentation.free</artifactId>
  22.  
  23. <version>5.1.0</version>
  24.  
  25. </dependency>
  26.  
  27. </dependencies>

创建散点图

下面是创建散点图的具体方法和步骤:

  • 创建 Presentation 类的实例。
  • 使用 ShapeCollection.appendChart() 方法将散点图附加到特定的幻灯片。
  • 通过 ChartData.get().setValue() 方法设置图表数据。
  • 使用 IChart 接口提供的方法设置图表标题、坐标轴标题、系列标签等。
  • 设置网格线样式和数据点线样式。
  • 使用 Presentation.saveToFile() 方法将文档保存到指定路径。

完整代码

Java

  1. import com.spire.presentation.FileFormat;
  2. import com.spire.presentation.Presentation;
  3. import com.spire.presentation.SlideSizeType;
  4. import com.spire.presentation.TextLineStyle;
  5. import com.spire.presentation.charts.ChartType;
  6. import com.spire.presentation.charts.IChart;
  7. import com.spire.presentation.charts.entity.ChartDataLabel;
  8. import com.spire.presentation.drawing.FillFormatType;
  9.  
  10. import java.awt.*;
  11. import java.awt.geom.Rectangle2D;
  12.  
  13. public class ScatterChart {
  14. public static void main(String[] args) throws Exception{
  15. //创建Presentation类的实例
  16. Presentation presentation = new Presentation();
  17. presentation.getSlideSize().setType(SlideSizeType.SCREEN_16_X_9);
  18.  
  19. //添加散点图表到第一张幻灯片
  20. IChart chart = presentation.getSlides().get(0).getShapes().appendChart(ChartType.SCATTER_MARKERS,new Rectangle2D.Float(180, 80, 550, 320),false);
  21.  
  22. //设置图表标题
  23. chart.getChartTitle().getTextProperties().setText("散点图表");
  24. chart.getChartTitle().getTextProperties().isCentered(true);
  25. chart.getChartTitle().setHeight(20f);
  26. chart.hasTitle(true);
  27.  
  28. //设置图表数据源
  29. Double[] xData = new Double[] { 1.0, 3.4, 5.0, 7.9 };
  30. Double[] yData = new Double[] { 4.3, 13.2, 7.7, 6.0 };
  31. chart.getChartData().get(0,0).setText("X-值");
  32. chart.getChartData().get(0,1).setText("Y-值");
  33. for (int i = 0; i < xData.length; i++) {
  34. chart.getChartData().get(i+1,0).setValue(xData[i]);
  35. chart.getChartData().get(i+1,1).setValue(yData[i]);
  36. }
  37.  
  38. //设置系列标签
  39. chart.getSeries().setSeriesLabel(chart.getChartData().get("B1","B1"));
  40.  
  41. //设置X和Y轴值
  42. chart.getSeries().get(0).setXValues(chart.getChartData().get("A2","A5"));
  43. chart.getSeries().get(0).setYValues(chart.getChartData().get("B2","B5"));
  44.  
  45. //添加数据标签
  46. for (int i = 0; i < 4; i++)
  47. {
  48. ChartDataLabel dataLabel = chart.getSeries().get(0).getDataLabels().add();
  49. dataLabel.setLabelValueVisible(true);
  50. }
  51.  
  52. //设置主轴标题和次轴标题
  53. chart.getPrimaryValueAxis().hasTitle(true);
  54. chart.getPrimaryValueAxis().getTitle().getTextProperties().setText("X-轴 标题");
  55. chart.getSecondaryValueAxis().hasTitle(true);
  56. chart.getSecondaryValueAxis().getTitle().getTextProperties().setText("Y-轴 标题");
  57.  
  58. //设置网格线
  59. chart.getSecondaryValueAxis().getMajorGridTextLines().setFillType(FillFormatType.SOLID);
  60. chart.getSecondaryValueAxis().getMajorGridTextLines().setStyle(TextLineStyle.THIN_THIN);
  61. chart.getSecondaryValueAxis().getMajorGridTextLines().getSolidFillColor().setColor(Color.GRAY);
  62. chart.getPrimaryValueAxis().getMajorGridTextLines().setFillType(FillFormatType.NONE);
  63.  
  64. //设置数据点线
  65. chart.getSeries().get(0).getLine().setFillType(FillFormatType.SOLID);
  66. chart.getSeries().get(0).getLine().setWidth(0.1f);
  67. chart.getSeries().get(0).getLine().getSolidFillColor().setColor(Color.GREEN);
  68.  
  69. //保存文档
  70. presentation.saveToFile("ScatterChart.pptx", FileFormat.PPTX_2013);
  71. presentation.dispose();
  72. }
  73. }

效果图

—本文完—

Java:如何在PowerPoint幻灯片中创建散点图的更多相关文章

  1. C# 在PPT幻灯片中创建图表

    图表能够很直观的表现数据在某个时间段的变化趋势,或者呈现数据的整体和局部之间的相互关系,相较于大篇幅的文本数据,图表更增加了我们分析数据时选择的多样性,是我们挖掘数据背后潜在价值的一种更为有效地方式. ...

  2. Java 在PPT中创建散点图

    本文将以Java代码示例展示如何在PPT幻灯片中创建散点图表. 创建图表前 需要在Java程序中导入用于操作PPT的jar包 Free Spire.Presentation for Java.可参考如 ...

  3. Java 添加、修改PPT幻灯片中的表格

    本文将介绍通过Java编程在PPT操作表格的方法.包括添加表格到PPT幻灯片,并设置表格样式.单元格对齐方式.单元格背景色.边框样式.字体.字号.合并单元格等:同时,通过加载已有表格的幻灯片也可以对表 ...

  4. Java 添加 、读取以及删除PPT幻灯片中的视频、音频文件

    在PPT中,可以操作很多种元素,如形状.图形.文字.图片.表格等,也可以插入视频或者音频文件,来丰富幻灯片的内容呈现方式.下面将介绍在Java程序中如何来添加视频.音频文件到PPT幻灯片,读取和删除幻 ...

  5. 如何在eclipse jee中创建Maven project并且转换为Dynamic web project

    如何在eclipse jee中创建Maven project并且转换为Dynamic web project 注意:该文档只针对以下eclipse版本,如图 为了方便,我将我本地的压缩包放在了微云网盘 ...

  6. PowerPoint 2013中创建自定义路径动画的方法

    1.在幻灯片中选择对象,在“动画”选项卡的“高级动画”组中单击“添加动画”按钮,在打开的下拉列表中选择“自定义路径”选项,如图1所示. 图1 选择“自定义路径”选项 2.此时鼠标指针变为十字形,在幻灯 ...

  7. java如何在eclipse编译时自动生成代码

    用eclipse写java代码,自动编译时,如何能够触发一个动作,这个动作是生成本项目的代码,并且编译完成后,自动生成的代码也编译好了, java编辑器中就可以做到对新生成的代码的自动提示? 不生成代 ...

  8. #iPhone6与iPhone6Plus适配#如何在Xcode 6中创建 PCH 文件

    本文永久链接http://www.cnblogs.com/ChenYilong/p/4008086.html   新建文件 ⌘+N选择 iOS/Mac -> Other -> PCH Fi ...

  9. 数据结构二叉树的java实现,包括二叉树的创建、搜索、删除和遍历

    根据自己的学习体会并参考了一些网上的资料,以java写出了二叉树的创建.搜索.删除和遍历等操作,尚未实现的功能有:根据先序和中序遍历,得到后序遍历以及根据后序和中序遍历,得到先序遍历,以及获取栈的深度 ...

  10. effective java读书小记(一)创建和销毁对象

    序言 <effective java>可谓是java学习者心中的一本绝对不能不拜读的好书,她对于目标读者(有一点编程基础和开发经验)的人来说,由浅入深,言简意赅.每一章节都分为若干的条目, ...

随机推荐

  1. mysql 增加自定义函数

    查看mysql当前是否支持编写自定义 SHOW variables like '%fun%'; 开启自定义函数 set global log_bin_trust_function_creators=1 ...

  2. opencv3 7.3 重映射 仿射变换

    重映射的概念 将一幅图像某位置的像素放置到另外一幅图像的指定位置上,需要对非整数像素坐标重映射来表达每个像素的新位置. g(x,y)=f(h(x,y)); 实现重映射 remap()函数 dst(x, ...

  3. Echart 属性解析

    <template> <div class="container"> <div id="myEchart" style=" ...

  4. 20193314白晨阳 实验一《Python程序设计》实验报告

    实验一 20193314 2020-2021-2 <Python程序设计>实验1报告 课程:<Python程序设计> 班级: 201933 姓名: 白晨阳 学号:2019331 ...

  5. jetson TX2 + opencv3.4 + python3 + 双目 +人脸检测

    淘宝看到一款很便宜的双目,150元,就买了.想着用它学习一下opencv,好换个工作.当然,也想着能否用它做一些好玩的,比如三维重建之类高大上的东西.先用便宜的入个门,等以后眼界高了再看是不是买那些更 ...

  6. ddddd

    项目二阶段总结 账户微服务 短信发送 1.压测发现问题 首先对短信smscomponent的send方法在test单元测试类中测试,不是真的发短信测试,可以建立请求开始和结束的时间戳来确定请求的耗时. ...

  7. java 多线程 数据通信

    1.司机等乘客全部上车后再启动车子 import java.util.concurrent.CountDownLatch;public class A { public static void mai ...

  8. 持续集成环境(4)-Jenkins凭证管理

    凭据可以用来存储需要密文保护的数据库密码.Gitlab密码信息.Docker私有仓库密码等,以便 Jenkins可以和这些第三方的应用进行交互. 安装Credentials Binding插件 要在J ...

  9. fiddler动态调试js

    背景   昨天获取到的网易云音乐站点的请求内容居然是加密的, 就需要动态的调试js找出params很secSeky未加密之前的内容. 调试方法   调试之前需要在目标浏览器上部署上fiddler的根证 ...

  10. windows下查找端口、PID、查找进程、杀死进程

    查找端口 netstat -ano|findstr "1099" TCP 0.0.0.0:1099 0.0.0.0:0 LISTENING 10120 TCP [::]:1099 ...