c#读取excel两列数据并绘制xy曲线_EXCEL绘制三Y轴图表
在日常工作中,经常会使用EXCEL进行数据的处理与分析,并绘制一些常用的数据可视化图表,柱状图、散点图、曲线图等啥的,总体来说,Excel的数据可视化做的还是非常优秀的,可以非常方便的绘制常用的图表,而且图表的可交互性非常好,所见即所得,哪里不服就点哪,点哪改哪都很方便。但是,领导的需求总是不断的变化和提升的,而当代职场的主要矛盾已转化为领导日益增长的高标准需要与不想干不愿干的本性之间的矛盾。作为一个苦逼的打工仔,只能始终坚持“只要领导有需求,就要把他满足的嗷嗷的”精神,有困难克服困难,没困难制造困难的满足领导的需要。
一、缘由
虽然谈不上老司机,但用EXCEL画基本的图表也有十几年了,各种图表基本都用过,以前还曾经用VBA做了一个自动从数据库查询数据并自动批量生成曲线图的宏,Excel水平至少谈得上是入了门吧。
但今天,老革命也遇到了新问题,领导提出要在一张图上体现两类对比数据,其中一类数据中两个曲线中的数据尺度相差很大,两类数据肯定要分两个纵轴,而第二类数据中尺度相差悬殊,如果不分两个轴显示的话,有一条曲线就趴在地上完全看不到了。
看来,真相只有一个,那就是要干出三个Y轴来。
二、想办法
我们知道,Excel里的图表一般只有两个Y轴,即主坐标轴和次坐标轴,原生就不支持三个Y轴,咋办。
先天不足只能后天补了,打开百度,一顿操作猛如虎,原来早已有大神实现了,只是网上的几种方法都语焉不详,还是要靠自己,根据网上前人有限的提示,自己摸索吧。
既然Excel原生不支持三Y轴,那再怎么牛叉也是造不出第三个轴的。真的造不出来咱就造个假的,只要看起来像是坐标轴就行了,坐标轴不就是一根直线上加几个标注嘛,也没啥难的。
三、解决方案
要实现这个假坐标轴的效果,首先要有一根竖线,然后有些坐标轴间隔的标注,再就是有坐标轴的数据标注。如果直接把这几样要素画出来,画几根直线,再加几个文本框把数据标上也是可以的,但是这也太LOW了,完全体现不出技术含量。
所以,还是要用excel自带的图表类型里一种图来生成这个“坐标轴”,那就是“带直线和数据标注的散点图”,数据点就用短横线来表示坐标轴数据间隔标记,数据点之间的连线就用来表示坐标轴那条竖线,然后再给每个数据点加上数据标注,看起来就像是一个坐标轴了。
四、实例
这次画的这个图表,共包括四列数据,分别是地下水开采量、地下水回灌量、累计地面沉降量、地面沉降速率,其中前两列对应主Y轴,第三类和第四列对应次Y轴,且分别对应一根虚拟Y轴。
第一步 添加虚拟轴的数据
数据是1949~2019年的数据,为了在合适的位置画出两个Y轴,在加两组辅助数据,第一根Y轴辅助数据的x都是2020,需要标几个坐标轴分隔标记就对应有几个数据,且数据是对应次Y轴的值域平均进行等分。第二个虚拟Y轴的数据x都是2026(这个只是表示这条线在x轴上的位置,可以根据需要修改)。
第二步 在图表中添加虚拟轴的数据列
在之前绘制的曲线图上,右键->选择数据,添加两组数据,分别对应之前的两组虚拟Y轴的xy数据。
第三步 修改图表中各曲线图的图表类型
在绘制的图表上,右键->更改图表类型,对刚添加的两组数据选择“带直线和数据标注的散点图”,而且都对应次坐标轴。
第四步 美化
分别选中刚添加的两个“Y轴”,点选“设计->添加图表元素->数据标记->右侧”,这样就有了坐标轴上的标注数字了,然后就是一点一点的对这两个“Y轴”上的各元素进行属性调整,使它们看起来真的像是坐标轴。
tip1:由于数据曲线多,坐标轴也多,最好是坐标轴颜色选和数据曲线颜色一样的颜色,这样很直观的能看出哪个曲线对应哪个轴。
tip2:这里的两个Y轴以及相对应的曲线都对应次Y轴,其值域是唯一的,而两列数据的尺度差别很大,需要对其中的一列或两列做些变换,使其能够在同一尺度下都能得到较好的展示。唉,感觉越说越乱,打个比方吧,如果一组数据值域是0-1000,另一组是0-100,那直接画出来0-100的曲线就都趴在地上看不出来,那就把这列数据全部乘以10,那两列数据的值域就一样了,可以在同一张图上都显示的很清楚。要注意的是,对应的虚拟Y轴的数据标注也要相应的做修改,才能使数据和轴对应上。感觉还是没说清楚,自己操作一下就都明白了。
五、最终效果
好了,直接上成图效果。
另外,附赠一个小技巧,Excel中画的曲线图,虽然可以在office全家桶中自由的复制黏贴,但是很难另存为图片,当然可以截屏,但是感觉很不专业,毕竟是干技术的,用这种暴力方法显得好low。这里提供一个小技巧,就是把这个excel文件另存为网页文件,也就是html文件,然后在该文件的文件夹里有一个同名+.files的文件夹,excel文件中的所有图片在那个文件夹里都能找到。
最后,欢迎关注本人公众号,记录生活工作中的点滴成长,满满的都是干货。
c#读取excel两列数据并绘制xy曲线_EXCEL绘制三Y轴图表相关推荐
- c#读取excel两列数据并绘制xy曲线_我用Python展示Excel中常用的20个操作
我的公众号:早起Python ======== 前言 Excel与Python都是数据分析中常用的工具,本文将使用动态图(Excel)+代码(Python)的方式来演示这两种工具是如何实现数据的读取. ...
- c#读取excel两列数据并绘制xy曲线_用Python轻松搞定Excel中的20个常用操作
来源 |早起Python(ID: zaoqi-python) Excel与Python都是数据分析中常用的工具,本文将使用动态图(Excel)+代码(Python)的方式来演示这两种工具是如何实现数据 ...
- excel两列数据绘制单折线图表
目录 1. 折线图(二维) 2. x轴y轴散点图(可操作横轴) 有关excel的两列数据绘制出一张折线图或柱状图的方法.要求两列数据分别成为图表的横坐标和纵坐标. 1. 折线图(二维) 首先,打开ex ...
- python对excel两列求和写入另一列_python读取excel指定列数据并写入到新的excel方法...
如下所示: #encoding=utf-8 import xlrd from xlwt import * #------------------读数据------------------------- ...
- python 在excel指定列添加数据_python读取excel指定列数据并写入到新的excel方法
如下所示: #encoding=utf-8 import xlrd from xlwt import * #------------------读数据------------------------- ...
- python excel写入一列_python读取excel指定列数据并写入到新的excel方法
如下所示: #encoding=utf-8 import xlrd from xlwt import * #------------------读数据------------------------- ...
- matlab数据变成一列数据,matlab读取excel表格列数据-matlab导入excel后,怎么把数据提取成一列?...
怎么用matlab读取excel表格中的一列十六进制数据? x=xlsread('oillack.xls','sheet1','a1:a73') excel文件名是oillack.xls,sheet1 ...
- python读取excel某列数据
文章目录 一.python读取excel某列数据 二.将读取的数据变为浮点数 一.python读取excel某列数据 import xlrdworksheet = xlrd.open_workbook ...
- excel两列乱序姓名如何一一对应 excel 两列数据自动配对
excel两列乱序姓名如何一一对应?Excel是非常好用的数据表格处理软件,能够帮助用户快速的处理复杂的数据,而excel中有很多实用的功能,需要我们合理使用.有时需要将两个名单中的数据自动对应,自己 ...
最新文章
- 1 元秒杀 1000+ 册爆款电子书,错过再等一年!
- 【cJSon】cJSON学习笔记(一)
- Vue2.x源码学习笔记-Vue实例的属性和方法整理
- 微软推出全新的Windows 10系统图标
- 创建hugo博客_如何创建您的第一个Hugo博客:实用指南
- unity3d UGUI视频教程
- C++判断函数执行效率方法封装
- Windows7系统无损分区的教程
- 利用Python爬取一个百度翻译工具(初学爬虫必备)
- 非北京户口的驾照到期换证小攻略(仅供参考)
- 目标检测Anchor是什么?怎么科学设置?人人都能彻底搞懂的Anchor深度解析
- 正大期货市场基础知识
- Matlab filter2、conv2报错:不支持N维数组
- 使用 yarn 安装时,报错node_modules\node sass:Command failed.
- vim替换字符串带斜杠_VI中的查找和替换
- dseo13b打开自动消失_刚安装的WIN764位系统
- html5+++map+清除,HTML5+google map自我瞎学习
- 隐语v0.8.2版本更新,首次发布TEEU
- 百家讲坛 黄帝内经(第二部)
- 我理想中的分析师 !
热门文章
- R可视化删除ggplot2图中的网格线(Gridlines)
- 使用hyperopt(Bayesian optimization)为lightGBM模型挑选最优参数进行模型构建、by Cross Validation
- js符号转码_js传特殊字符到controller (java)的转码问题
- 博世力士乐液压_[Event Review] Company Visit Bosch Rexroth 博世力士乐液压工厂参观
- 无法打开锁文件 /var/lib/dpkg/lock - open (13: 权限不够) 无法对状态列表目录加锁(/var/lib/dpkg/),请查看您是否正以 root 用户运行?
- SMRT single molecular real time Sequencing
- Fail to find the dnn implementation. [Op:CudnnRNN]解决办法
- 三十四、动态规划解决01背包问题
- 视频动作识别--Towards Good Practices for Very Deep Two-Stream ConvNets
- html 颜色叠加图片,如何在背景图片上添加颜色叠加?