几品飞车Excel的数据可视化和Python的有什么不同?( 二 )


本文插图
再添加一个日期段 , 用作折线图的X轴
几品飞车Excel的数据可视化和Python的有什么不同?
本文插图
最后设置图表和数据的关联 , 先插入一个空的折线图 。
几品飞车Excel的数据可视化和Python的有什么不同?
本文插图
右键选择数据 , 添加Y轴数据 。
几品飞车Excel的数据可视化和Python的有什么不同?
本文插图
例如A厂的数据 , 在系列之处填写之前设置的名称 , SSS能源和XX重工同理 。
几品飞车Excel的数据可视化和Python的有什么不同?
本文插图
在右侧水平轴标签编辑X轴 , 填写之前设置的名称 。
几品飞车Excel的数据可视化和Python的有什么不同?
本文插图
此时已经可以通过操作滑块来实现动态修改折线图的效果 。
几品飞车Excel的数据可视化和Python的有什么不同?
本文插图
如果想以每 7 天为一个周期 , 查看每个周期的数据 , 还可以设置起始日滑块的步长为 7 , 然后修改跨度当前值为 7。
几品飞车Excel的数据可视化和Python的有什么不同?
本文插图
之后操作起始日滑块效果见下图 。
几品飞车Excel的数据可视化和Python的有什么不同?
本文插图
如果想要像效果预览图中那样自动播放该怎么做呢?答案是使用 VBA。 再从表单控件中选择一个按钮 , 右键该按钮后选择指定宏 , 点击新建 , 开始编辑 VBA 代码 。
几品飞车Excel的数据可视化和Python的有什么不同?
本文插图
点击按钮运行代码 , 便可实现 G2 单元格从 1 开始自增 , Do While 段的作用是暂停 0.1 秒并执行其他操作(折线图随 G2 值的变动而变动) 。
至此 , Excel 动态图完成!
几品飞车Excel的数据可视化和Python的有什么不同?
本文插图
几品飞车Excel的数据可视化和Python的有什么不同?
本文插图
P版样例图的实现见以下代码 , 具体可参考笔者的另一篇《程序员的求生欲:用python给女友一个七夕惊喜二维码吧》 , 其中以动态条形图为例 , 详细说明了制图思路和完整的实现过程(以及其他加料技巧) 。
import matplotlib.pyplot as pltimport matplotlib.animation as aniimport pandas as pdimport datetimedf = pd.read_excel(r"D:\动态折线图数据样例.xlsx")# 读取原始数据t = datetime.datetime(2020,7,1) # 起始日期fig = plt.figure(figsize=(10,6))# 画布plt.rcParams["font.sans-serif"] = ["Microsoft YaHei"] # 字体设为微软雅黑timeSlot = list(range(1,63)) + [62]*20# 时间轴items = ["A厂", "SSS能源", "XX重工"]# 单位列表colors = ["#6495ED", "#FF8C00", "#B0C4DE"] # 颜色列表def draw(date):# 数据处理 ------date_list = []# 需绘制的日期段for d in range(date):date_list.append(t + datetime.timedelta(days=d))current_date = t + datetime.timedelta(days=date)# 最新一天_df = df[df["日期"]结果:
几品飞车Excel的数据可视化和Python的有什么不同?
本文插图
通过本次比较可见 , 两者均能实现相同的需求 。 Python 在生成结果的细节调整上会更加便利 , 并且可以直接输出 Gif 图保存 , 但图像文件较大;而 Excel 在对原数据进行调整时会更快捷 , 而且在演示时也可以单步查看 , 还含有炫技成分(