簡體   English   中英

條形圖競賽,條形在python中相互超越

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM