一、前言

在希望将多个折线图绘制在一起时,除了在2D平面上绘制多条折线图外,我们还可以在3维立体空间里去绘制它们,这样可以更加清晰地观察它们之间的差距。

本博文将使用Excel和基于python的matplotlib库这两种方式去完成3D折线图的绘制。其中使用Excel软件绘制3D折线图不需要编程,操作简单,而使用matplotlib库绘制3D折线图虽然需要编程但是也并不困难。故使用哪一种方式完成3D折线图的绘制其实都可以,看读者喜欢哪一种方法制作出来的效果。同时本文经过实验发现这两种方式在为有较多数据的数据集绘制其3D折线图时都存在得到的图像表述效果不好的情况,故针对有较多数据的数据集而言可能不适合使用它们去绘制其3D折线图。

二、实验

2.1 使用Excel软件绘制3D折线图

如下图所示,首先我们需要准备一个类似这样的Excel数据表格

这里我们使用的是使用Excel的RANDBETWEEN函数造出来的,某路段检测点在周一到周三收集来的通过的交通车流量数据。表格中每一行的含义是在该行对应的时间跨度内周一到周三该检测点检测得到的通过该路段的车流量数据。注:这里其实你换成你自己想要画3D折线图的数据集就可以,然后注意表格第一行要写清楚每一列的含义。

在数据表格准备好后,我们选中数据表格中我们需要对其进行3D折线图绘制的部分,然后如下图所示,我们点击Excel上方工具栏中的“插入”那一项,再点击“折线图”图标,选择并点击其中的“三维折线图”,这样一个使用Excel绘制的3D折线图就绘制完成啦。

绘制出来的折线图是下面这个样子:

2.2 使用基于python的matplotlib库绘制3D折线图

这里我们直接上python代码,代码中有注释,下面这段代码的含义在一个3D空间内绘制3条折线图(可以理解为绘制某一个主体在周一到周三某个数据的情况),同样使用的随机生成的假数据。

import random
import matplotlib.pyplot as plt
import numpy as np
import pylab as mpl
mpl.rcParams['font.sans-serif'] = ['FangSong']  # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
xs = list(range(0,24)) #数据在x轴上的坐标for z in range(3):#这里我们设置z=0到2,代表周一到周三ys = np.random.rand(24)*100 #数据在y轴上的坐标color = plt.cm.Set2(random.choice(range(plt.cm.Set2.N))) #得到一个随机的颜色用于下面绘制该条折线图ax.plot(xs, ys, zs=z, zdir='y',color=color,marker='o', alpha=0.8)#在设置zdir = 'y'的情形下,其实y轴才是z轴,然后z轴变成了y轴
ax.set_xlabel('X轴')
ax.set_ylabel('Z轴')
ax.set_zlabel('Y轴')plt.show()

绘制出的3D折线图如下:

2.3 在绘制相对较多的数据时这两种方式的对比情况

这里我们将数据点由前面的十几个,二十几个扩充到每一条折线上有288个数据,然后使用上述两种方法进行绘图,得到的图形如下:

Excel绘制的3D折线图如下:

matplotlib绘制的3D折线图如下:

可见,在数据体量较大的数据集上,Excel和matplotlib的绘制效果均不太好,可能使用matplotlib绘制出来的3D折线图效果更好一点。

三、总结

本文使用Excel软件和基于python的matplotlib库完成了绘制数据集3D折线图的工作。文中实验证明,在数据量较小的情况下,使用上述两种方式绘制3D折线图得到的效果均较好,而在数据量较大的情况下上述两种方式绘制出来的图像其表征效果均不太好,可能需要进一步的优化或选择其他方式进行绘制。

使用Excel和matplotlib绘制3D折线图相关推荐

  1. python做实时温度曲线图_Python学习记录 - matplotlib绘制温度变化折线图

    Python学习记录 - matplotlib绘制温度变化折线图 Python学习记录 - matplotlib绘制温度变化折线图 题目:列表a表示10点到12点每一分钟的气温,累计为2个小时,绘制折 ...

  2. 使用matplotlib绘制3D立方体图

    这个repo 用来记录一些python技巧.书籍.学习链接等,欢迎star github地址 使用matplotlib绘制3D立方体图(含两种样式) # -*- coding: utf-8 -*- # ...

  3. matplotlib绘制堆积折线图

    matplotlib绘制堆积折线图 '''堆积折线图''' '''用函数stackplot()绘制堆积折线图''' import matplotlib as mpl import matplotlib ...

  4. python第三方库matplotlib绘制简单折线图

    一.绘制简单折线图 代码如下: import numpy as np import matplotlib.pyplot as plt X = [0, 1, 2, 3, 4, 5] Y = [222, ...

  5. 【Python-3.5】matplotlib绘制气温折线图

    本文案例源自<Python编程:从入门到实践>,章节16.1,我对书中代码进行了简单改进.代码中先导入CSV文件,然后对文件中的数据进行处理,最后展示为折线图. sitka_weather ...

  6. matlab矩阵绘制3d曲面,Matplotlib 绘制 3D曲面图(实现基本设置的函数模板,直接复制即可调用)...

    Matplotlib 是 Python 的绘图库,它与 NumPy 一起使用,可以基本上实现 MATLAB 的绘图和计算功能,而且效率更高,速度更快. 今天主要说一下关于 Matplotlib 绘制三 ...

  7. python读取CSV文件中温度值绘制3D折线图

    import pyecharts.options as opts from pyecharts.charts import Line3D import random import csv filena ...

  8. Python使用Matplotlib绘制三维折线图(进阶篇)

    1.0简介: 三维图像技术是现在国际最先进的计算机展示技术之一,任何普通电脑只需要安装一个插件,就可以在网络浏览器中呈现三维的产品,不但逼真,而且可以动态展示产品的组合过程,特别适合远程浏览. 立体图 ...

  9. matplotlib绘制三维折线图

    如下代码: import matplotlib as mpl import numpy as np import matplotlib.pyplot as plt mpl.rcParams['lege ...

  10. Matplotlib绘制3D线框图和曲面图

    有两种画网格数据的三维图非常重要,就是线框图和曲面图.它们都是将网格数据映射成三维曲面,得到的三维形状非常容易可视化.下面是一个线框图示例: fig = plt.figure() ax = plt.a ...

最新文章

  1. C# 复制 粘贴 剪切 撤销
  2. 《零基础看得懂的C++入门教程 》——(8)搞定二维数组与循环嵌套
  3. c语言prime函数怎么用_C语言 要发就发
  4. python-redis连接管理
  5. linux系统如何管理文件
  6. 在线免费下载音乐网站源码,支持在线播放
  7. lol韩服游戏内设置_英雄联盟手游韩服怎么设置中文 英雄联盟手游韩服设置中文教程...
  8. Java越学越迷茫,应该怎么办?
  9. python求平行四边形的周长_高考数学解析几何有哪些实用的运算技巧?
  10. 2022智源大会议程公开 | 预训练大模型论坛
  11. 命令与征服4 You might have build the wrong LOD level 错误
  12. Msfvenom建立后门程序指令及开启监听
  13. nextcloud配置邮箱发送邮件
  14. 战神网络 战神引擎 手游研究院 获取该区补丁失败 如何解决
  15. Linux下线程池源码实现
  16. n+1天 吾日三省吾身
  17. 【Fracturing amp; Destruction】Unity3D的物体爆裂、炸裂、碎裂效果
  18. [最优化]凸集的定义与常见凸集
  19. 2020年末的一些职业规划思考
  20. 栓奶牛:二分更胜DP一筹

热门文章

  1. 分论坛介绍:机器学习、企业数据中台、实验科学与因果推断
  2. 什么是肠漏综合征,它如何影响健康?
  3. this.$message
  4. gtid_executed和gtid_purged变量是如何初始化的
  5. 均方根误差,平均绝对误差,均方误差,标准差计算方法
  6. 第五章、Zigbee模块的数据传输
  7. 《马克思主义基本原理概论》复习笔记
  8. 原生js倒计时插件封装
  9. java省市县级联查询
  10. 身份证省市区SQL代码