[英]Bar chart race with bars overtaking each other in python
我如何讓條形圖在排序條形圖競賽中相互超越?
基本上與這個問題相同,只是在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()
你可以試試:
github.com/dexplo/bar_chart_race
您可以通過 pip 安裝,但這是一個較舊的 0.1.0 版本:
pip install bar_chart_race
但最好安裝最新版本。 你可以這樣做:
pip install git+https://github.com/dexplo/bar_chart_race
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.