我正在尝试弄清楚如何使用matplotlib对数据帧的两列进行子绘图。这是我的代码:
plt.figure(figsize=(10,10))
plt.subplot(2,1,1)
df[['Percentage variance (%)', 'Net weight (%)']].plot(kind='bar')
我的目标是在同一个数字上看到“百分比方差(%)”的一组颜色条和“净重(%)”的另一组颜色条。
由于某种原因,matplotlib忽略了plt.subplot(2,1,1)命令,并且不会将条形图放在指定的子图上。
有没有人遇到过这种情况并知道修复/解决方法?
答案 0 :(得分:1)
以下对我来说很好。
您需要使用数据框ax
方法的plot()
关键字指定要绘制的子图。
import matplotlib.pyplot as plt
import pandas as pd
df = pd.DataFrame({ 'Percentage variance (%)' : [10,20,30],
'Net weight (%)':[22,16,18] })
plt.figure(figsize=(10,10))
ax = plt.subplot(2,1,1)
df[['Percentage variance (%)', 'Net weight (%)']].plot(kind='bar', ax=ax)
plt.show()