我想只得到水平网格使用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)
但是我没有得到网格,既不是水平的也不是垂直的。是Pandas覆盖了坐标轴吗?还是我做错了什么?
2条答案
按热度按时间ruyhziif1#
尝试在绘制DataFrame后设置网格。另外,要获得水平网格,需要使用
ax2.grid(axis='y')
。下面是使用示例DataFrame的答案。我通过使用
subplots
重新构造了ax2
的定义。或者,您也可以执行以下操作:直接使用从DataFrame图返回的axis对象来打开水平网格
第三个选项,@ayorgo在评论中建议将两个命令链接为
w46czmvw2#
另一种选择:Matplotlib的
plot
(和bar
)默认情况下不绘制垂直网格。或者使用面向对象的方法: