首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用Java中的Apache POI向Excel中的折线图添加两个以上的y轴(垂直)?

Apache POI是一个用于操作各种Microsoft Office文件格式的Java库。它提供了丰富的API来创建、读取和修改Excel文件。在使用Apache POI创建Excel折线图时,要向折线图添加两个以上的y轴,可以按照以下步骤进行操作:

  1. 创建Excel工作簿和工作表:
代码语言:txt
复制
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
  1. 创建图表对象并设置图表类型:
代码语言:txt
复制
Drawing drawing = sheet.createDrawingPatriarch();
ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 0, 5, 10, 15); // 设置图表的位置
Chart chart = drawing.createChart(anchor);
chart.setType(ChartType.LINE);
  1. 创建数据源区域,并设置系列标签:
代码语言:txt
复制
Row row1 = sheet.createRow(0);
row1.createCell(0).setCellValue("X轴数据");
row1.createCell(1).setCellValue("Y轴1数据");
row1.createCell(2).setCellValue("Y轴2数据");

Row row2 = sheet.createRow(1);
row2.createCell(0).setCellValue("数据1");
row2.createCell(1).setCellValue(10);
row2.createCell(2).setCellValue(20);

Row row3 = sheet.createRow(2);
row3.createCell(0).setCellValue("数据2");
row3.createCell(1).setCellValue(15);
row3.createCell(2).setCellValue(25);

AreaReference areaReference = new AreaReference(new CellReference(1, 0), new CellReference(2, 2));
ChartDataSource<Number> xs = DataSources.fromNumericCellRange(sheet, areaReference);
ChartDataSource<Number> ys1 = DataSources.fromNumericCellRange(sheet, new CellRangeAddress(1, 2, 1, 1));
ChartDataSource<Number> ys2 = DataSources.fromNumericCellRange(sheet, new CellRangeAddress(1, 2, 2, 2));
  1. 创建图表数据系列并设置系列属性:
代码语言:txt
复制
LineChartData data = chart.getChartDataFactory().createLineChartData();

LineChartSeries series1 = data.addSeries(xs, ys1);
series1.setTitle(sheet.getRow(0).getCell(1).getStringCellValue());
series1.setSmooth(true); // 设置线条平滑
series1.setMarkerStyle(MarkerStyle.NONE); // 设置数据点样式

LineChartSeries series2 = data.addSeries(xs, ys2);
series2.setTitle(sheet.getRow(0).getCell(2).getStringCellValue());
series2.setSmooth(true);
series2.setMarkerStyle(MarkerStyle.NONE);

chart.plot(data);
  1. 创建y轴,并设置其属性:
代码语言:txt
复制
ValueAxis yAxis1 = chart.getChartAxisFactory().createValueAxis(AxisPosition.LEFT);
yAxis1.setCrosses(AxisCrosses.AUTO_ZERO);

ValueAxis yAxis2 = chart.getChartAxisFactory().createValueAxis(AxisPosition.RIGHT);
yAxis2.setCrosses(AxisCrosses.AUTO_ZERO);

chart.getCTChart().getPlotArea().getLineChartArray(0).getValAxArray(0).getCrossAx().setVal(chart.getCTChart().getPlotArea().getLineChartArray(0).getCatAxArray(0).getAxId());
chart.getCTChart().getPlotArea().getLineChartArray(0).addNewValAx().setCrossAx(chart.getCTChart().getPlotArea().getLineChartArray(0).getCatAxArray(0).getAxId() + 1);
  1. 将图表绘制到Excel单元格中:
代码语言:txt
复制
CellReference cr = new CellReference("A10");
int col = cr.getCol();
int row = cr.getRow();
ClientAnchor anchor2 = drawing.createAnchor(0, 0, 0, 0, col, row, col + 10, row + 20);
chart.getCTChart().getPlotArea().getLineChartArray(0).addNewVaryColors().setVal(false);
chart.getCTChart().getPlotArea().getLineChartArray(0).getSerArray(0).getSmooth().setVal(true);
chart.getCTChart().getPlotArea().getLineChartArray(0).getSerArray(1).getSmooth().setVal(true);
chart.getCTChart().getPlotArea().getLineChartArray(0).getSerArray(0).getMarker().addNewSymbol().setVal(org.openxmlformats.schemas.drawingml.x2006.chart.STMarkerStyle.NONE);
chart.getCTChart().getPlotArea().getLineChartArray(0).getSerArray(1).getMarker().addNewSymbol().setVal(org.openxmlformats.schemas.drawingml.x2006.chart.STMarkerStyle.NONE);
chart.getCTChart().getPlotArea().getLineChartArray(0).getSerArray(0).getMarker().addNewSize().setVal(5);
chart.getCTChart().getPlotArea().getLineChartArray(0).getSerArray(1).getMarker().addNewSize().setVal(5);
chart.getCTChart().getPlotArea().getLineChartArray(0).addNewAxId().setVal(123456);
chart.getCTChart().getPlotArea().getLineChartArray(0).addNewAxId().setVal(123457);
chart.getCTChart().getPlotArea().addNewLayout();
chart.getCTChart().getPlotArea().addNewLineChart();
chart.getCTChart().getPlotArea().addNewSpPr();
chart.getCTChart().getPlotArea().addNewAxIdLst();
chart.getCTChart().getPlotArea().addNewCrossBetween().setVal(org.openxmlformats.schemas.drawingml.x2006.chart.STCrossBetween.BETWEEN);
chart.getCTChart().getPlotArea().addNewCrosses();
chart.getCTChart().getPlotArea().addNewCrosses().setVal(org.openxmlformats.schemas.drawingml.x2006.chart.STCrosses.AUTO_ZERO);
chart.getCTChart().getPlotArea().addNewCrossBetween().setVal(org.openxmlformats.schemas.drawingml.x2006.chart.STCrossBetween.MID_CATEGORY);
chart.getCTChart().getPlotArea().getLineChartArray(0).getCrossBetween().setVal(org.openxmlformats.schemas.drawingml.x2006.chart.STCrossBetween.BETWEEN);
chart.getCTChart().getPlotArea().getLineChartArray(0).getCrosses().setVal(org.openxmlformats.schemas.drawingml.x2006.chart.STCrosses.AUTO_ZERO);
chart.getCTChart().getPlotArea().getLineChartArray(0).addNewAxId().setVal(123459);
chart.getCTChart().getPlotArea().getLineChartArray(0).addNewAxId().setVal(123460);
chart.getCTChart().getPlotArea().getLineChartArray(0).addNewAxId().setVal(123456);
chart.getCTChart().getPlotArea().getLineChartArray(0).addNewAxId().setVal(123457);
chart.getCTChart().getPlotArea().getLineChartArray(0).getAxIdArray(0).setVal(123459);
chart.getCTChart().getPlotArea().getLineChartArray(0).getAxIdArray(1).setVal(123460);
chart.getCTChart().getPlotArea().getLineChartArray(0).getAxIdArray(2).setVal(123456);
chart.getCTChart().getPlotArea().getLineChartArray(0).getAxIdArray(3).setVal(123457);
chart.getCTChart().getPlotArea().getLineChartArray(0).getCatAxArray(0).getAxId().setVal(123459);
chart.getCTChart().getPlotArea().getLineChartArray(0).getValAxArray(0).getAxId().setVal(123460);
chart.getCTChart().getPlotArea().getLineChartArray(0).getValAxArray(1).getAxId().setVal(123456);
chart.getCTChart().getPlotArea().getLineChartArray(0).getValAxArray(2).getAxId().setVal(123457);
chart.getCTChart().getPlotArea().getLineChartArray(0).getValAxArray(0).getCrossAx().setVal(123459);
chart.getCTChart().getPlotArea().getLineChartArray(0).getValAxArray(1).getCrossAx().setVal(123460);
chart.getCTChart().getPlotArea().getLineChartArray(0).getValAxArray(2).getCrossAx().setVal(123456);
chart.getCTChart().getPlotArea().getLineChartArray(0).getValAxArray(3).getCrossAx().setVal(123457);
chart.getCTChart().getPlotArea().getLineChartArray(0).addNewGapWidth().setVal(200);
chart.getCTChart().getPlotArea().getLineChartArray(0).addNewOverlap().setVal(-50);
chart.getCTChart().getPlotArea().getLineChartArray(0).addNewCrossesAt().setVal(-1000);
chart.getCTChart().getPlotArea().getLineChartArray(0).addNewCrossesAt().setVal(1000);

chart.getCTChart().getPlotArea().getLineChartArray(0).getCatAxArray(0).getCrossAx().setVal(chart.getCTChart().getPlotArea().getLineChartArray(0).getValAxArray(0).getAxId());
chart.getCTChart().getPlotArea().getLineChartArray(0).addNewCatAx().setCrossAx(chart.getCTChart().getPlotArea().getLineChartArray(0).getValAxArray(0).getAxId() + 1);
chart.getCTChart().getPlotArea().getLineChartArray(0).getCrossBetween().setVal(org.openxmlformats.schemas.drawingml.x2006.chart.STCrossBetween.BETWEEN);

ChartAxis[] axis = chart.getAxis();
axis[0] = yAxis1;
axis[1] = yAxis2;
  1. 保存Excel文件:
代码语言:txt
复制
FileOutputStream fileOut = new FileOutputStream("path/to/output.xlsx");
workbook.write(fileOut);
fileOut.close();
workbook.close();

上述代码中,我们首先创建了一个Excel工作簿和工作表。然后,通过创建图表对象并设置图表类型,我们创建了一个折线图。接下来,我们创建了数据源区域,并为每个系列设置了系列标签和对应的数值范围。之后,我们创建了两个y轴,并设置了它们的属性。最后,将图表绘制到指定单元格中,并保存Excel文件。

请注意,这里的代码示例只是一个简单的演示,实际使用时可能需要根据具体需求进行调整。同时,这里没有提及腾讯云相关产品的原因是,腾讯云并没有专门提供与Apache POI集成的产品。但是,通过腾讯云的云服务器、对象存储等基础服务,我们可以将生成的Excel文件存储在云端,并通过其他服务进行管理和分发。

更多关于Apache POI的信息和示例代码,请参考官方文档:Apache POI官方文档

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java进阶-常用Excel处理库的比较

Excel,作为最广泛使用的数据记录和分析工具,承载了无数企业的财务、销售、市场分析等关键业务数据。因此,掌握如何通过Java有效地操作Excel文件,对于开发者来说是一项非常有价值的技能。...2、Apache POI 功能支持读写Excel文件:可以创建新的或处理现有的Excel文件。支持公式计算:自动计算和更新Excel中的公式。...下面是一个使用Apache POI在Excel文件中创建图表的示例代码。此例中我们将创建一个简单的柱状图,展示两组数据的对比。import org.apache.poi.ss.usermodel....然后,我们设置了图表的位置和大小,并初始化了一个柱状图。接着为每组数据创建一个系列,并将这些数据系列添加到图表中。最后,我们定义了图表的X轴和Y轴,并将文件保存到磁盘。...这两个示例展示了如何利用JExcelAPI进行单元格格式设置和简单的数据处理,这对于小型项目或简单的自动化任务来说是足够的。

66533

使用asp.net 2.0的CreateUserwizard控件如何向自己的数据表中添加数据

在我们的应用系统中,asp.net 2.0的用户表中的数据往往不能满足我们的需求,还需要增加更多的数据,一种可能的解决方案是使用Profile,更普遍的方案可能是CreateUserwizard中添加数据到我们自己的表中...使用Createuserwizard的Oncreateduser事件. 在这个事件中可以通过Membership类的GetUser方法获取当前创建成功的用户MembershipUser 。  ...当你建立用户membershipuser对象,可以使用Provideruserkey获取用户的主键值(一个GUID值): CreateUserWinard的OnCreatedUser事件中可以获取你要添加的额外用户信息和...下面是一个如何使用的例子: protected void CreateUserWizard1_CreatedUser( object sender, System.EventArgs e) {...this.AddMyDataToMyDataSource(userinfo); } private void AddMyDataToMyDataSource(UserInfo myData) {    //添加数据到自己的数据库表中

4.6K100
  • 报表技术

    Excel报表开发一般分为两种形式: 1、为了方便操作,基于Excel的报表批量上传数据,也就是把Excel中的数据导入到系统中。 2、通过java代码生成Excel报表。...2.1 Excel的两种版本 目前世面上的Excel分为两个大的版本Excel2003和Excel2007及以上两个版本; 两者之间的区别如下: Excel2003 是一个特有的二进制格式,其核心结构是复合文档类型的结构...Apache POI是Apache软件基金会的开源项目,由Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java语言操作Microsoft Office的功能。...: 2007级以上) 3、使用JXL导出excel 目前Excel的版本有2013、2010、2007,这些都是新版本的excel,新版本的excel已经出现十多年了,使用人群已经比较多了,所以目前做项目大都做的是导出新版本的...操作excel 添加所需的依赖: org.apache.poi poi

    2.6K30

    Java数据可视化:报表技术

    Excel报表开发一般分为两种形式: 1、为了方便操作,基于Excel的报表批量上传数据,也就是把Excel中的数据导入到系统中。 2、通过java代码生成Excel报表。...2.1 Excel的两种版本 目前世面上的Excel分为两个大的版本Excel2003和Excel2007及以上两个版本; 两者之间的区别如下: Excel2003 是一个特有的二进制格式,其核心结构是复合文档类型的结构...Apache POI是Apache软件基金会的开源项目,由Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java语言操作Microsoft Office的功能。...: 2007级以上) 3、使用JXL导出excel 目前Excel的版本有2013、2010、2007,这些都是新版本的excel,新版本的excel已经出现十多年了,使用人群已经比较多了,所以目前做项目大都做的是导出新版本的...操作excel 添加所需的依赖: org.apache.poi poi

    2.6K40

    Excel实例:Excel图表可视化:条形图、折线图、散点图和步骤图

    p=16539 Excel提供了相当广泛的功能来创建图形,即Excel所谓的 图表。您可以通过选择插入>图表来访问Excel的图表功能 。我们将在此处描述如何创建条形图和折线图。...使用“ 设计”,“ 布局” 和“ 格式”功能区 来完善图表。 现在,我们通过以下示例演示如何创建条形图。 示例1 –为图1中的数据创建一个条形图。 第一步是将数据输入到工作表中。...最后,通过选择“ 布局”> “垂直轴”的标题可以添加水平轴的标题。 标签|轴标题>主垂直轴标题>旋转标题。...所有这些修改的结果如图4所示。 ? 图4 –折线图(修订后的视图) 散点图 散点图只是一系列数据元素对的图表,其中第一个数据元素对应于x轴,第二个数据元素对应于y轴。...图6 –带有标签的散点图 步骤图 Excel不提供步骤图功能,但我们可以使用上面显示的散点图功能来创建步骤图。 示例4:为图7中的数据创建一个步骤图。 ?

    5.2K10

    Excel实例:Excel图表可视化:条形图、折线图、散点图和步骤图

    p=16539 Excel提供了相当广泛的功能来创建图形,即Excel所谓的  图表。您可以通过选择插入>图表来访问Excel的图表功能  。我们将在此处描述如何创建条形图和折线图。...使用“  设计”,“  布局”  和“  格式”功能区  来完善图表。 现在,我们通过以下示例演示如何创建条形图。 示例1  –为图1中的数据创建一个条形图。 第一步是将数据输入到工作表中。...最后,通过选择“ 布局”> “垂直轴”的标题可以添加水平轴的标题。  标签|轴标题>主垂直轴标题>旋转标题。...所有这些修改的结果如图4所示。 图4 –折线图(修订后的视图) 散点图 散点图只是一系列数据元素对的图表,其中第一个数据元素对应于x轴,第二个数据元素对应于y轴。...图6 –带有标签的散点图 步骤图 Excel不提供步骤图功能,但我们可以使用上面显示的散点图功能来创建步骤图。 示例4:为图7中的数据创建一个步骤图。

    4.4K00

    【数学建模绘图系列教程】二、折线图的绘制与优化

    概览 这一篇主要利用Excel+PPT的形式来复现美赛O奖论文里的两幅插图。...第一幅折线图 原图: 我复现的效果(数据随机生成) 操作步骤: 1.在Excel中生成数据 2.将Excel的图表复制到PPT中 3.编辑标题 4.设置坐标轴边界/单位 5.调整坐标轴字体...6.修改线条颜色/粗细=2.5磅 7.修改标记内置圆形,大小=7 白色填充,边框2.5磅 8.添加虚线,大小1磅 9.添加虚线标注 10.修改背景(网格线、坐标轴) 讲解视频: 【数学建模绘图系列教程...】二、折线图的绘制与优化(1) B站Link:https://www.bilibili.com/video/BV1QB4y1Y7Fd (欢迎去B站一键三连) 另一种复现思路:无需数据 效果(仅展示一条曲线...->位置分布->沿线均匀分布 6.添加坐标轴,标题,图例 讲解视频: 【数学建模绘图系列教程】二、折线图的绘制与优化(2) B站Link:https://www.bilibili.com/video/BV1w94y1D7bG

    1.2K30

    Java实现学生信息管理系统读取Excel数据

    在Java开发的学生信息管理系统中,读取Excel数据是一个常见的需求。Excel文件常常被用作学生信息的输入源,因此,了解如何使用Java读取Excel数据对于开发人员来说是一项必备技能。...本文将详细介绍如何使用Java读取Excel文件,并对异常情况做出处理。一、环境准备在开始之前,请确保你已经安装了Java开发环境,并了解基本的Java语法。...为了处理Excel文件,我们将使用Apache POI库,它是一个流行的Java库,专门用于处理Microsoft Office文件。...如果你还没有安装Apache POI,你可以通过Maven或Gradle将其添加到你的项目中。二、代码实现首先,我们需要导入必要的库。在Java中,这通常是通过import语句完成的。...五、总结通过以上代码和解释,我们了解了如何使用Java和Apache POI库来读取Excel文件。这对于开发学生信息管理系统等应用非常重要。

    33910

    使用Python Xlsxwriter创建Excel电子表格(第3部分:格式,迷你图与图表)

    标签:Python与Excel,Xlsxwriter 在上次的基础上,我们将使用Python xlsxwriter库通过添加格式、迷你图和图表来美化我们枯燥的Excel电子表格。...“categories”:这是x轴标签 “values”:图形的实际值 “name”:数据系列的名称,也用于图例 “data_labels”:我们可以使用此参数标记数据点 “y2_axis”:次坐标轴y...“柱状”图将显示垂直直方图,“条形”图将显示水平直方图。这个约定与Excel描述这些图表类型的方式完全匹配。 我们还可以使用{'subtype':'stacked'}来指定堆积柱状图。...Python组合两个Excel图表 一个很酷的特性是,我们可以使用Python xlsxwriter创建双轴图表。...基本上,我们将两个图表组合在一起,形成一个新的图表。当然,这两个图表需要有一些共同点,例如在示例中的x轴。否则,将完全不同的图表组合在一起可能没有多大意义。

    3K40

    手把手教你用Python直观查看贵州茅台股票交易数据

    另外,可以将Excel中的电子表格另存为CSV文件,但这可能会导致数据格式丢失,例如CSV文件中的"0001"数据使用Excel打开会变为1。...y轴标题plt.xlabel('交易日期') # 添加x轴标题plt.xticks(rotation=40)plt.show() 代码解释如下。...第②行通过plt.plot函数绘制折线,其中df2['Date']是x轴数据,df2['Volume']是y轴数据。...第①行和第②行绘制了4个折线图,label参数用于设置在图例中显示的折线标签。 至此,我们便可以直观地看到茅台一个月内的历史股票交易数据啦!...,介绍Python在实际工作场景中的应用,侧重于用Python解决工作中的数据处理问题,并通过实战形式讲解如何用Python实现数据收集、数据清洗、数据分析及可视化等工作。

    63220

    终于有一款组件可以全面超越Apache POI

    如果想通过简单的代码逻辑,快速创建、加载、编辑、导入/导出大型文档(Excel、Word、PDF),并将其部署到云端时,又该如何实现?...Apache POI中,支持的公式数量很少(虽然Apache POI网站罗列了280多种可评估的公式,但在API中仅显示为157种)。...但在Apache POI中,使用高级API来增加条件格式判断会受限。因此,只能使用标记为内部用途的低级类来处理Top10、高于平均值(AboveAverage)等格式化选项。...迷你图 GcExcel完全支持添加和配置迷你图(Sparklines)。 Apache POI目前不支持Sparklines。...单元格中获取/设置值 在对单个单元格执行获取/设置值的情况下,GcExcel比Apache POI表现的更好。 13.

    3.4K10

    《手把手教你》系列技巧篇(六十六)-java+ selenium自动化测试 - 读写excel文件 - 上篇(详细教程)

    1.简介 在自动化测试,有些我们的测试数据是放到excel文件中,尤其是在做数据驱动测试的时候,所以需要懂得如何操作获取excel内的内容。...由于java不像python那样有直接操作Excle文件的类库,所以我们必须借助第三方工具:POI(基于Apache的POI类库)。.../ 一个是Apache的POI(Poor Obfuscation Implementation)官网地址:http://poi.apache.org/ POI支持微软的OLE2格式文件Office 2003...POI使用HSSF对象操作OLE2格式Excel,文件后缀为.xls的;使用XSSF、SXSSF对象操作OOXML格式Excel,文件后缀为.xlsx的。...如下图所示: 3.下载完后解压,文件结构如下图所示: 4.项目实战 4.1jar文件添加 1.把POI文件添加在你Selenium当前项目的library中 先新建一个文件夹,把解压出来的所有的xx.jar

    1.2K40

    Apache POI与easyExcel:Excel文件导入导出的技术深度分析

    它提供了对Excel文件读写操作的全面支持,在处理Excel文件时,POI通过HSSF和XSSF两个子项目分别支持.xls和.xlsx格式。...在导入Excel文件时,Apache POI会将整个文件加载到内存中,然后提供API来访问和操作文件中的各个元素,如单元格、行、列等。...1.1 POI实现读取excel 下面是一演示如何使用 Apache POI 导入(读取)和导出(写入)Excel 文件(.xlsx 格式) org.apache.poi...EasyExcel 是在在POI的解析引擎基础上改进的,但并没有完全重写 Apache POI 的整个解析引擎,特别是对于 XLSX 文件格式(即 Excel 2007 及以上版本所使用的格式,POI...四、总结 Apache POI和easyExcel都是优秀的Java库,用于处理Excel文件。Apache POI以其全面性和灵活性著称,提供了对Excel文件的全面支持。

    1.5K20

    SpringBoot图文教程9—SpringBoot 导入导出 Excel 「Apache Poi」

    那么在 SpringBoot 中如何使用 Poi 呢?从本文开始将会说三种使用 Poi 的姿势:Apache Poi,EasyPoi,阿里开源的EasyExcel。 话不多说,马上开始。...集成 Poi 什么是 Poi Apache Poi 是 Apache 的一个开源项目,用Java代码通过 poi 技术可以实现 读取 和 生成 Excel 文档。...关于 Poi 的简介非常的少,接下来我们简单说一些和Excel相关的常识 通过 office Excel软件或者 wps 常用的Excel格式有两种:xls 和 xlsx 上图中的两个文件都是Excel...文件,在一个Excel文件中包含若干张表 一张表中可以分为很多行 row ,每行又分为很多单元格 cell Poi 对 Excel 抽象出来的对象 刚才简单的说过了Excel文件相关的情况,但是那是在电脑中使用...于是在 Poi 中对以上提到的所有的名词都做了一定的封装。

    4.6K30

    java导出excel的两种方式

    一、在后台实现,利用java的poi 1、导入jar包,需要导入lib文件夹下如下包: poi-3.11-20141221.jar poi-ooxml.jar poi-ooxml-schemas.jar...org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.ss.util.CellRangeAddress...,比如0代表男,1代表女,不加处理,会导出数字, (2)处理方法如下:(主要代码与第七点差不多),大致思路就是在往list集合中添加每一行数据时,对需要改动的在add进入list之前赋需要的值。...(2)代码是用jndi连接池去数据库查的,其他形式的自行实现即可,不过看这篇文章,肯定数据都有了,主要就是参考excel如何导出的,可以忽略。...如果希望打印下一页的内容,提供一种思路,可以在按钮上添加跳转页面,跳到另一个页面,让另一个页面返回数据库全查需要的数据,写入新建页的table中,打印新table,有兴趣的可以尝试。

    2.6K30

    一、基础折线图详解《手把手教你 ECharts 数据可视化详解》

    ECharts 官方示例:https://echarts.apache.org/examples/zh/index.html 一、折线图 我们打开 ECharts 的示例界面,找到折线图中的基础折线图:...以上所述的这一部分是一个 echarts 可视化的基础 JavaScript 代码,这一部分代码是通用的。...在示例代码中,我们使用的配置是 type: 'category', 此时就表示当前的坐标轴类型是 类目轴。...yAxis yAxis 表示当前折线图在 y 轴上的设置,可以在配置文档中找到对应的说明: 一般来说 y 轴在垂直方向上最多只能放两个,也就是左右两边,并不允许同个位置的多个 y 轴产生重叠。...在配置 y 轴时,type 表示配置坐标轴的类型: 期值若等于 value 则表示事数值值,也就是当前图标所显示的数值进行自动适配后产生 y 轴的标注,最终效果可以查看本片最下部分的示例截图。

    2.2K20

    Excel图表学习50: 绘制双层面板折线图

    学习Excel技术,关注微信公众号: excelperfect 在Excel图表学习系列中,已经介绍过几个绘制面板图的示例。这里,再来学习一下绘制面板图的基本技巧。...(注:示例引用自Jon Peltier的《Easy Two-Panel LineChart in Excel》,本文对其进行了详细的整理。) 示例使用的数据如下图1所示。 ?...图4 选择图表,在功能区“图表设计”选项卡中,单击“添加图表元素——坐标轴——次要横坐标轴”,结果如下图5所示。 ? 图5 设置主坐标轴在面板底层,其垂直轴数值范围设置为0至400。...设置次坐标轴在面板顶层,其垂直轴数值范围设置为-2000至2000。这样,将两条折线分别放置在图表的上下层中,如下图6所示。 ? 图6 使用次要水平坐标轴作为面板的分隔线。...单击功能区“格式”选项卡中的“当前所选内容”组上方下拉列表中的“次坐标轴垂直(值)轴”,选取图表的次要垂直坐标轴。然后单击“设置所选内容格式”按钮,将横坐标轴交叉设置为“自动”,如下图7所示。 ?

    2.1K10
    领券