为了账号安全,请及时绑定邮箱和手机立即绑定

向动画散点图添加图例

向动画散点图添加图例

FFIVE 2021-04-09 16:19:36
我正在用散点图构建动画,该散点图显示了一段时间内多个组的数据。当我想添加图例时,我能得到的最好的仅显示一组。样本数据集:import pandas as pd df = pd.DataFrame([    [1, 'a', 0.39, 0.73],    [1, 'b', 0.87, 0.94],    [1, 'c', 0.87, 0.23],    [2, 'a', 0.17, 0.37],    [2, 'b', 0.03, 0.12],    [2, 'c', 0.86, 0.22],    [3, 'a', 0.01, 0.15],    [3, 'b', 0.03, 0.1],    [3, 'c', 0.29, 0.19],    columns=['period', 'group', 'x', 'y'])我这样制作动画:import matplotlib.pyplot as pltimport matplotlib.animation as animationfig, ax = plt.subplots()ax.set_xlim(0, 1)ax.set_ylim(0, 1)colors = {'a': 'r','b': 'b','c': 'g'        }scat = ax.scatter([], [],                c=df['group'].map(colors),                )def init():    scat.set_offsets([])    return scat,def update(period):    scat.set_offsets(df[df['period'] == period][['x', 'y']])    scat.set_label(df[df['period']  == period]['group'])    ax.legend([scat], df['group'].unique().tolist(), loc=1)    ax.set_title(period)    return scat,ani = animation.FuncAnimation(fig, update, init_func=init,                            frames=[1,2,3,4,5],                            interval=500,                            repeat=True)plt.show()我只在传说中出现了一个小组。如果仅输入ax.legend(loc=1),它将显示如下内容:6  a7  b8  cName: group, dtype:object数字在每一帧中都会变化。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信