【发布时间】:2021-12-08 23:11:13
【问题描述】:
如何让条形图在排序条形图竞赛中相互超越?
和这个question基本一样,只是在python中。
我的最小条形图比赛代码
import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.animation as animation
data = np.abs(np.random.randn(200, 3))
ind = ['a', 'b', 'c']
data = pd.DataFrame(data, columns=ind)
fig, ax = plt.subplots(1, 1, figsize=(16, 6.5))
# ax.barh(ind, data[0, :], color=['r', 'g', 'b'])
def getTopXY(data, i):
top = data.iloc[i, :].T.sort_values(ascending=False)[::-1]
return top.values, top.index
def update(i):
ax.clear()
X, Y = getTopXY(data, i)
ax.barh(Y, X, color=['r', 'g', 'b'])
ani = animation.FuncAnimation(fig,
update,
frames=len(data),
interval=10,
blit=False)
plt.show()
【问题讨论】:
-
@TrentonMcKinney 文章没有超车栏,看我链接的类似问题的答案
-
@SandervandenOord 谢谢,正是我要找的东西
标签: python matplotlib animation bar-chart