105

プロットに水平グリッド ラインと垂直グリッド ラインの両方を取得したいのですが、デフォルトでは水平グリッド ラインのみが表示されます。Python で SQL クエリを使用しpandas.DataFrameて、x 軸に日付を含む折れ線グラフを生成しています。日付に表示されない理由がわかりません。これに対する回答を検索しようとしましたが、見つかりませんでした。

グラフをプロットするために使用したのは、以下の単純なコードだけです。

data.plot()
grid('on')

data は、日付と SQL クエリからのデータを含む DataFrame です。

以下のコードも追加しようとしましたが、垂直グリッド線のない同じ出力が得られます。

ax = plt.axes()        
ax.yaxis.grid() # horizontal lines
ax.xaxis.grid() # vertical lines

助言がありますか?

ここに画像の説明を入力

4

7 に答える 7

109

ax.yaxis.grid(True)の代わりに使用するなど、呼び出しでブール型の arg を指定する必要がある場合がありますax.yaxis.grid()ax.gridさらに、それらの両方を使用しているため、ディメンションごとに一度行うのではなく、両方で機能する に結合できます。

ax = plt.gca()
ax.grid(True)

それはあなたを整理するはずです。

于 2013-04-18T04:19:16.840 に答える
66

plt.gca().xaxis.grid(True)私にとっての解決策であることが証明されました

于 2014-09-12T02:23:47.900 に答える
8

これで問題が解決するかもしれません: matplotlib、プロット上のグリッドのサイズを定義する

ax.grid(True, which='both')

実際には、グリッドは機能していますが、00:00 には v-grid が 1 つしかなく、他のグリッドにはグリッドがありません。多くの日のうち、11 月 1 日にグリッドが 1 つしかないという同じ問題に遭遇します。

于 2016-11-16T03:07:03.953 に答える