Alf*_*so 34 python plot pandas
假设我有一个DataFrame看起来像这样:
Hour | V1 | V2 | A1 | A2
0 | 15 | 13 | 25 | 37
1 | 26 | 52 | 21 | 45
2 | 18 | 45 | 45 | 25
3 | 65 | 38 | 98 | 14
Run Code Online (Sandbox Code Playgroud)
我试着去创建一个柱状图来比较列V1和V2经Hour.当我做:
import matplotlib.pyplot as plt
ax = df.plot(kind='bar', title ="V comp",figsize=(15,10),legend=True, fontsize=12)
ax.set_xlabel("Hour",fontsize=12)
ax.set_ylabel("V",fontsize=12)
Run Code Online (Sandbox Code Playgroud)
我得到了一个情节和一个包含所有列的值和名称的图例.如何修改我的代码,以便绘图和图例仅显示列V1和V2
EdC*_*ica 61
要仅绘制列的选择,您可以通过将列表传递给下标运算符来选择感兴趣的列:
ax = df[['V1','V2']].plot(kind='bar', title ="V comp", figsize=(15, 10), legend=True, fontsize=12)
Run Code Online (Sandbox Code Playgroud)
你尝试的是df['V1','V2']这将提出一个KeyError正确的没有列与该标签存在,虽然它看起来很有趣,首先你必须考虑你传递一个列表因此双方括号[[]].
import matplotlib.pyplot as plt
ax = df[['V1','V2']].plot(kind='bar', title ="V comp", figsize=(15, 10), legend=True, fontsize=12)
ax.set_xlabel("Hour", fontsize=12)
ax.set_ylabel("V", fontsize=12)
plt.show()
Run Code Online (Sandbox Code Playgroud)
