100% площадь участка фрейма данных pandas

на панды' вы можете найти обсуждение на участков, и, в частности, укладывая их. Есть ли простой и простой способ получить 100% участок стека области, как этот

enter image description here

с этот пост?

1 ответов


метод в основном такой же, как в другой так ответ; разделить каждую строку на сумму строки:

df = df.divide(df.sum(axis=1), axis=0)

затем вы можете позвонить df.plot(kind='area', stacked=True, ...) как обычно.


import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
np.random.seed(2015)

y = np.random.randint(5, 50, (10,3))
x = np.arange(10)
df = pd.DataFrame(y, index=x)

df = df.divide(df.sum(axis=1), axis=0)
ax = df.plot(kind='area', stacked=True, title='100 % stacked area chart')

ax.set_ylabel('Percent (%)')
ax.margins(0, 0) # Set margins to avoid "whitespace"

plt.show()

доходность

enter image description here