温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Excel的数据可视化和Python有什么不同

发布时间:2021-11-25 11:34:22 来源:亿速云 阅读:282 作者:iii 栏目:大数据

这篇文章主要介绍“Excel的数据可视化和Python有什么不同”,在日常操作中,相信很多人在Excel的数据可视化和Python有什么不同问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Excel的数据可视化和Python有什么不同”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

效果预览比较

(1)Python版

流畅丝滑,仿佛生命的跃动。

Excel的数据可视化和Python有什么不同

Python版

(2)Excel版

图样图森破,不落下风,对老表哥而言还带有一种亲切感。

Excel的数据可视化和Python有什么不同

以数据用例来说明,=OFFSET(A1,5,2,3,1) 即表示从 A1 单元格开始,下移 5 格,右移 2 格,再向下选取 3 个,注意:最后的 1 表示选择这一列而不是向右多选一列。

Excel的数据可视化和Python有什么不同

据此,可以预想动态图需要用到的数据,就是用 OFFSET 返回的区域作为折线图的系列值。

(2)开发工具-表单控件

但如果想要动态地修改 OFFSET 返回区域,还需要将其偏移、选取相关的参数绑定到单元格,通过修改单元格的值,来修改函数内部参数。故先设置 F2 、G2 两个单元格分别为下移量和下取量,起始位置选择 C1 即可,如此选取日产能值时就无需右移和右取。

Excel的数据可视化和Python有什么不同

右键滑块设置控件格式,即可通过滑块来修改单元格的值。

Excel的数据可视化和Python有什么不同

添加一个名称为“日产能A厂”,其引用位置为 =OFFSET(Sheet1!$C$1,Sheet1!$F$2, ,Sheet1!$G$2, ),省略的两个参数默认值分别为 0 和 1,如此即可通过滑块调整获得日产能值的区域。

Excel的数据可视化和Python有什么不同

再添加一个日期段,用作折线图的X轴

Excel的数据可视化和Python有什么不同

右键选择数据,添加Y轴数据。

Excel的数据可视化和Python有什么不同

在右侧水平轴标签编辑X轴,填写之前设置的名称。

Excel的数据可视化和Python有什么不同

如果想以每 7 天为一个周期,查看每个周期的数据,还可以设置起始日滑块的步长为 7,然后修改跨度当前值为 7 。

Excel的数据可视化和Python有什么不同

(5)VBA操作单元格

如果想要像效果预览图中那样自动播放该怎么做呢?答案是使用 VBA 。再从表单控件中选择一个按钮,右键该按钮后选择指定宏,点击新建,开始编辑 VBA 代码。

Excel的数据可视化和Python有什么不同

Python动态图实现

P版样例图的实现见以下代码,具体可参考笔者的另一篇《程序员的求生欲:用python给女友一个七夕惊喜二维码吧》,其中以动态条形图为例,详细说明了制图思路和完整的实现过程(以及其他加料技巧)。

import matplotlib.pyplot as plt
import matplotlib.animation as ani
import pandas as pd
import datetime

df = 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["日期"]<current_date ]  # 获取最新一天前所有数据
    # 绘制折线图 ------
    fig.clear()  # 每次重绘时清空画布
    plt.title("0701-0831各单位产能变化", fontsize=20)  # 标题
    ax = plt.gca()  # 坐标轴对象
    ax.spines['right'].set_color('none')  # 隐藏右边框
    ax.spines['top'].set_color('none')  # 隐藏上边框
    for i,v in enumerate(items):
        data = _df[_df["单位"] == v]["日产能"]  # 获取某单位某日产能值
        plt.plot(date_list, data , color=colors[i])  # 绘制折线
        plt.plot(date_list[-1], list(data)[-1], color=colors[i], marker='o', markersize = 10)  # 设置最后一个节点样式
        plt.text(date_list[-1], list(data)[-1] + 1, v, ha='center', va='bottom', fontsize=12)  # 为最后一个节点添加数据标签

# draw(62)
animator = ani.FuncAnimation(fig, draw, frames=timeSlot ,interval = 50)
plt.show()
# animator.save('test.gif',fps=20)

结果:

Excel的数据可视化和Python有什么不同

到此,关于“Excel的数据可视化和Python有什么不同”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI