我只想使用pandas图获得水平网格。
pandas的集成参数只有grid=True
或grid=False
,因此我尝试使用matplotlib pyplot更改轴参数,特别是使用以下代码:
import pandas as pd
import matplotlib.pyplot as plt
fig = plt.figure()
ax2 = plt.subplot()
ax2.grid(axis='x')
df.plot(kind='bar',ax=ax2, fontsize=10, sort_columns=True)
plt.show(fig)
但是我没有水平或垂直的网格。熊猫会覆盖轴吗?还是我做错了什么?
答案 0 :(得分:5)
在绘制DataFrame后,尝试设置网格。另外,要获取水平网格,您需要使用ax2.grid(axis='y')
。以下是使用示例DataFrame的答案。
我已经通过使用ax2
重新构造了定义subplots
的方式。
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({'lab':['A', 'B', 'C'], 'val':[10, 30, 20]})
fig, ax2 = plt.subplots()
df.plot(kind='bar',ax=ax2, fontsize=10, sort_columns=True)
ax2.grid(axis='y')
plt.show()
或者,您还可以执行以下操作:直接使用从DataFrame图返回的轴对象打开水平网格
fig = plt.figure()
ax2 = df.plot(kind='bar', fontsize=10, sort_columns=True)
ax2.grid(axis='y')