20

月ごとにサンプリングされたデータをバーでプロットすると、幅が非常に細くなります。X 軸のマイナー ロケーターを DayLocator() に設定すると、バーの幅が 1 日に調整されていることがわかりますが、1 か月分を埋めたいと思います。

小刻みロケーターを MonthLocator() に設定しようとしましたが、効果はありませんでした。

[編集]

多分例はより明白になるでしょう、ここipython -pylabに私が意味することの例があります:

x = [datetime.datetime(2008, 1, 1, 0, 0),
    datetime.datetime(2008, 2, 1, 0, 0),
    datetime.datetime(2008, 3, 1, 0, 0),
    datetime.datetime(2008, 4, 1, 0, 0),
    datetime.datetime(2008, 5, 1, 0, 0),
    datetime.datetime(2008, 6, 1, 0, 0),
    datetime.datetime(2008, 7, 1, 0, 0),
    datetime.datetime(2008, 8, 1, 0, 0),
    datetime.datetime(2008, 9, 1, 0, 0),
    datetime.datetime(2008, 10, 1, 0, 0),
    datetime.datetime(2008, 11, 1, 0, 0),
    datetime.datetime(2008, 12, 1, 0, 0)]

y = cos(numpy.arange(12) * 2)

bar(x, y)

これにより、12 個の 2 ピクセル幅のバーが得られます。幅を広げて月ごとに拡張したいと考えています。

4

1 に答える 1

57

widthキーワード引数を使用するだけです:

bar(x, y, width=30)

または、月によって日数が異なるため、見栄えを良くするためにシーケンスを使用できます。

bar(x, y, width=[(x[j+1]-x[j]).days for j in range(len(x)-1)] + [30])
于 2009-05-20T14:10:31.287 に答える