まあ、これは非常に汚いです、そして私はそれが投稿されたので他の答えipython --pylab
で行くことを試みます、しかし(で):
In [1]: def monotonic_hours(h):
hours = h[:]
for i, _ in enumerate(h[1:], 1):
while hours[i-1] > hours[i]:
hours[i] += 24
return hours
...:
In [2]: %paste
hours = [19,20.5,21.5,22.5,23.5,0.5,1.5,2.5,3,4]
list1 = [random.randint(1,10) for x in range(10)]
## -- End pasted text --
In [3]: plot(monotonic_hours(hours), list1)
Out[3]: [<matplotlib.lines.Line2D at 0x3271810>]
In [4]: xticks(xticks()[0], [int(h%24) for h in xticks()[0]])

注:これは、デフォルトxticks
が整数の位置にある場合は正確です。それ以外の場合は、次のように実行できます。
ticks = sorted(set(int(round(t)) for t in xticks()[0]))
xticks(ticks, [h%24 for h in ticks])
注2:なしipython
ですべてを呼び出すことができますplt
。