在matplotlib散点图中设置标记大小的动画

时间:2014-07-29 02:38:31

标签: python animation matplotlib networkx scatter

我正在为网络图设置动画,并希望通过节点的大小显示与节点相关的数据。颜色而不是节点大小的等效动画:

import numpy as np
import networkx as nx
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation

G = nx.ladder_graph(4)
fig = plt.figure(figsize=(8,8))
pos = nx.spring_layout(G)
nc = np.random.random(len(G))
nodes = nx.draw_networkx_nodes(G,pos,node_color=nc)
edges = nx.draw_networkx_edges(G,pos)

def update(n):
  nc = np.random.random(len(G))
  nodes.set_array(nc)
  return nodes,

anim = FuncAnimation(fig, update, interval=20, blit=True)

可以使用

生成一个具有数据给出的节点大小的静态帧
nodes = nx.draw_networkx_nodes(G,pos,node_size=400*nc)

我知道大小特征没有等效的.set_array,那么最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

等效于self._size属性。在新版本的mpl(1.4.0rc1 +)中有一个 set_sizes上的PathCollection方法。