ToB企服应用市场:ToB评测及商务社交产业平台

标题: python的matplotlib绘制动态图形(用animation中的FuncAnimation) [打印本页]

作者: 钜形不锈钢水箱    时间: 2023-4-18 12:44
标题: python的matplotlib绘制动态图形(用animation中的FuncAnimation)
%matplotlib auto
# 数据透视表:
# 统计各月每天的刷卡金额之和
# month_day_df = pd.pivot_table(data_df,values="刷卡金额",index="日",columns="月份",aggfunc=np.sum)
# 用折线图表示1月份每天的刷卡金额之和
import  matplotlib.pyplot  as  plt
from  matplotlib.animation  import FuncAnimation   # 导入动画库
import random
import numpy  as  np
import  pandas as pd
plt.rcParams["font.sans-serif"] = "SimHei"
fig = plt.figure(figsize=(12,8),dpi=80)   # 画布
month_day_df = np.random.randint(10000,100000,size=(31,12))  # 生成随机测试数据
# 动画函数
def  animate(i):   
    plt.gca().cla()   # 清除屏幕
    # 1.准备数据
    x_data = [i for i in range(1,13)]
    y_data = month_day_df[i+1]
    color_v2 = random.choice(["red","blue","pink","purple","yellow","green","orange","black"])
    # 2.绘制图形
    plt.plot(x_data,y_data,line,color=color_v2)
    # 添加标题"每月每天的刷卡金额总和折线图"
    plt.title(f"{i+1}月的刷卡金额总和折线图",fontsize=20)
    # 添加x轴标签"时间"
    plt.xlabel("时间")
    # 添加y轴标题"金额"
    plt.ylabel("金额")
    # 添加x轴刻度标签为x_data
    plt.xticks(x_data)
    plt.legend(["消费金额合计"],loc=0)   # 图例
    # 将数字放到折线上
    for k in range(len(x_data)):
        plt.text(x_data[k],y_data[k],y_data[k])
ani = FuncAnimation(fig=fig,func=animate,frames=12,interval=500)
# fig:在fig画布中绘制,func:动画函数,frames:循环多少次,interval:频率;
# 3.显示图形
plt.show()

 
# 日行一善:昨天我估计是起到作用了,安慰的他的心情了
# 日进一步:今天我的眼睛不是很疼了,我要想想自媒体怎么做,还有看看中考体育的相关内容

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4