プロットに水平グリッド線と垂直グリッド線の両方を取得したいのですが、デフォルトでは水平グリッド線のみが表示されます。 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
助言がありますか?
あなたはあなたの呼び出しでブール引数を与える必要があるかもしれません。 ax.yaxis.grid(True)
の代わりにax.yaxis.grid()
を使用します。さらに、両方を使用しているため、ax.grid
に結合できます。これは、ディメンションごとに1回行うのではなく、両方で機能します。
ax = plt.gca()
ax.grid(True)
それはあなたを整理する必要があります。
plt.gca().xaxis.grid(True)
が私の解決策であることが証明された
matplotlibのドキュメントによる 、Axes
class grid()
メソッドのシグネチャは次のとおりです。
Axes.grid(b =なし、which = 'major'、axis = 'both'、** kwargs)
軸グリッドをオンまたはオフにします。
which
を「major」(デフォルト)、「minor」、または「both」に設定して、大目盛りグリッド、小目盛りグリッド、またはその両方が影響を受けるかどうかを制御できます。
axis
は、「両方」(デフォルト)、「x」、または「y」のいずれかで、描画するグリッド線のセットを制御できます。
したがって、x軸とy軸の両方にグリッド線を表示するには、次のコードを使用できます。
ax = plt.gca()
ax.grid(which='major', axis='both', linestyle='--')
この方法により、グリッド線に表示するものをより細かく制御できます。
多分これは問題を解決することができます: matplotlib、プロット上のグリッドのサイズを定義する
ax.grid(True, which='both')
真実は、グリッドが機能しているということですが、00:00にはvグリッドが1つしかなく、他にはグリッドがありません。私は同じ問題に、11月1日には何日もの間グリッドが1つしかないという問題に出会います。
水平線のみ
ax = plt.axes()
ax.yaxis.grid() # horizontal lines
これは働いた