仅水平网格(在 python 中使用 Pandas plot + pyplot)

我想使用熊猫图只获得水平网格。


pandas 的集成参数只有grid=Trueor 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 会覆盖轴吗?还是我做错了什么?


慕虎7371278
浏览 258回答 1
1回答

慕后森

绘制 DataFrame后尝试设置网格。此外,要获得水平网格,您需要使用ax2.grid(axis='y'). 以下是使用示例 DataFrame 的答案。我ax2通过使用subplots.import pandas as pdimport matplotlib.pyplot as pltdf = 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')@ayorgo 在评论中建议的第三个选项是将两个命令链接为df.plot(kind='bar',ax=ax2, fontsize=10, sort_columns=True).grid(axis='y')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python