19

x 軸が日付であるバーを取得するには、次のようにしています。

import numpy as np
import matplotlib.pyplot as plt
import datetime

x = [datetime.datetime(2010, 12, 1, 0, 0),
    datetime.datetime(2011, 1, 1, 0, 0),
    datetime.datetime(2011, 5, 1, 1, 0)]
y = [4, 9, 2]

ax = plt.subplot(111)
barWidth=20
ax.bar(x, y, width=barWidth)
ax.xaxis_date()

plt.show()

ここに画像の説明を入力

ただし、プロットは x を中心としていません。以前に ax.bar(x-barWidth/2.,y,width=barWidth) を使用して、x を中心としたバーを取得したことがある場合。x 軸の値が日付の場合に同じ値を取得する方法はありますか?

4

1 に答える 1

35

align='center'メソッドのキーワードが必要だと思いますbar

あなたの例へのマイナーな変更:

import numpy as np
import matplotlib.pyplot as plt
import datetime

x = [datetime.datetime(2010, 12, 1, 0, 0),
    datetime.datetime(2011, 1, 1, 0, 0),
    datetime.datetime(2011, 5, 1, 1, 0)]
y = [4, 9, 2]

ax = plt.subplot(111)
barWidth=20
ax.bar(x, y, width=barWidth, align='center') #< added align keyword
ax.xaxis_date()

plt.savefig('baralign.png')
plt.show()

次の図につながります。

ここに画像の説明を入力

どこを見ればよいかわかっている場合、これは非常に簡単な答えです。matplotlibには広範なドキュメントがあり、各プロット方法について、開発者はキーワード引数の詳細な説明を提供しています。

于 2012-04-23T13:00:28.320 に答える