<p>通过<a href="https://pandas.pydata.org/docs/reference/api/pandas.Series.value_counts.html#pandas-series-value-counts" rel="nofollow noreferrer">^{<cd1>}</a>进行单独绘图:</p>
<pre><code>import pandas as pd
from matplotlib import pyplot as plt
df = pd.DataFrame({'ColA': [1, 2, 4, 4, 5],
'ColB': [4, 4, 6, 6, 6],
'ColC': ['A', 'C', 'C', 'E', 'E']})
for col in df:
df[col].value_counts().sort_index().plot(kind='bar', rot=0, ylabel='count')
plt.show()
</code></pre>
<div class="s-table-container">
^{tb1}$
</div><hr/>
<p>通过<a href="https://pandas.pydata.org/docs/reference/api/pandas.melt.html#pandas-melt" rel="nofollow noreferrer">^{<cd2>}</a>+<a href="https://pandas.pydata.org/docs/reference/api/pandas.crosstab.html#pandas-crosstab" rel="nofollow noreferrer">^{<cd3>}</a>的单个堆叠图:</p>
<pre><code>import pandas as pd
from matplotlib import pyplot as plt
df = pd.DataFrame({'ColA': [1, 2, 4, 4, 5],
'ColB': [4, 4, 6, 6, 6],
'ColC': ['A', 'C', 'C', 'E', 'E']})
overview = df.melt()
overview = pd.crosstab(overview['variable'], overview['value'])
ax = overview.plot(kind='bar', stacked=True, rot=0, ylabel='count')
ax.legend(bbox_to_anchor=(1.2, 1))
plt.tight_layout()
plt.show()
</code></pre>
<p><a href="https://i.stack.imgur.com/yhRbV.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/yhRbV.png" alt="stacked plot"/></a></p>