几品飞车Excel的数据可视化和Python的有什么不同?( 二 )
本文插图
再添加一个日期段 , 用作折线图的X轴
本文插图
最后设置图表和数据的关联 , 先插入一个空的折线图 。
本文插图
右键选择数据 , 添加Y轴数据 。
本文插图
例如A厂的数据 , 在系列之处填写之前设置的名称 , SSS能源和XX重工同理 。
本文插图
在右侧水平轴标签编辑X轴 , 填写之前设置的名称 。
本文插图
此时已经可以通过操作滑块来实现动态修改折线图的效果 。
本文插图
如果想以每 7 天为一个周期 , 查看每个周期的数据 , 还可以设置起始日滑块的步长为 7 , 然后修改跨度当前值为 7。
本文插图
之后操作起始日滑块效果见下图 。
本文插图
如果想要像效果预览图中那样自动播放该怎么做呢?答案是使用 VBA。 再从表单控件中选择一个按钮 , 右键该按钮后选择指定宏 , 点击新建 , 开始编辑 VBA 代码 。
本文插图
点击按钮运行代码 , 便可实现 G2 单元格从 1 开始自增 , Do While 段的作用是暂停 0.1 秒并执行其他操作(折线图随 G2 值的变动而变动) 。
至此 , Excel 动态图完成!
本文插图
本文插图
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["日期"]
结果:
本文插图
通过本次比较可见 , 两者均能实现相同的需求 。 Python 在生成结果的细节调整上会更加便利 , 并且可以直接输出 Gif 图保存 , 但图像文件较大;而 Excel 在对原数据进行调整时会更快捷 , 而且在演示时也可以单步查看 , 还含有炫技成分(
- ZAKER|柬埔寨两名飞车党抢劫失手遭民众痛殴!
- QQ飞车|宁清把云海压的“手抖”,QG无情零封AG,进总决赛有望蝉联 冠军
- 九游网|《QQ飞车》手游迪迦联动活动什么时候出 迪迦联动活动内容曝光
- 绝地养鸡王|《天天飞车》发布停服公告,看到补偿礼包后,老玩家“泪目”了!
- 几品飞车苹果火力全开,iPhone12五千多起步,国产旗舰压力巨大?
- 嘻哈飞车族腻害,高人都是这样玩SpringBoot整合RabbitMQ
- QQ飞车手游S联赛|季后赛|10月17日对阵看点 昨日精彩赛况回顾
- QQ飞车手游S联赛|季后赛俱乐部巡礼——Q9、GK、RWK、eStar
- 游戏圈那点事|QQ飞车手游:首辆坦克式五喷A车,重甲神兵怎么样?堪称小雷诺
- Excel表哥表姐如何突破职业天花板?我有两个忠告