2016-09-24 10 views
0

次のコードを使用して次のプロットを生成しました。適切な場所にxtickラベルを配置したいと思います。現在、誤解を招く恐れがあり、最初のラベル12/06がありません。次のようにMatplotlib:xtickラベルを整列

enter image description here

コードは:

import matplotlib.pyplot as plt 
import datetime as dt 
import matplotlib.dates as mdates 

list_date = 
['2016-06-12', 
'2016-06-13', 
'2016-06-14', 
'2016-06-15', 
'2016-06-16', 
'2016-06-17', 
'2016-06-18', 
'2016-06-19', 
'2016-06-20', 
'2016-06-21', 
'2016-06-22', 
'2016-06-23', 
'2016-06-24', 
'2016-06-25', 
'2016-06-26', 
'2016-06-27', 
'2016-06-28', 
'2016-06-29', 
'2016-06-30', 
'2016-07-01', 
'2016-07-02', 
'2016-07-03', 
'2016-07-04', 
'2016-07-05', 
'2016-07-06', 
'2016-07-07', 
'2016-07-08', 
'2016-07-09'] 

list_count = 
[9490, 
595442, 
566104, 
664133, 
655221, 
612509, 
607395, 
597703, 
613051, 
635764, 
705905, 
535869, 
583516, 
630818, 
641495, 
697591, 
578071, 
547280, 
561775, 
581784, 
594175, 
552944, 
545131, 
493400, 
604280, 
510182, 
518883, 
413648] 

date = [dt.datetime.strptime(d,'%Y-%m-%d').date() for d in list_date] 

plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%d/%m')) 
plt.gca().xaxis.set_major_locator(mdates.DayLocator(interval=2)) 
plt.bar(date, list_count, align = 'center') 
plt.gcf().autofmt_xdate() 
plt.grid() 
plt.xlabel("Period from 12/06/2016 to 09/07/2016") 
plt.ylabel("Daily hits") 
plt.title("Count of daily visitors") 
plt.show() 

答えて

1

あなたは、例えば、明示的にリストを渡すことによって、X-ティックの位置をカスタマイズすることができダニとあなたのリスト内のすべての日付をマークするために、あなたは過密目盛りを避けるために、代わりに

plt.gca().xaxis.set_major_locator(mdates.DayLocator(interval=2)) 

plt.gca().xaxis.set_ticks(date) 

をするだろう、あなたは、例えば渡すことができますdate[::2]

+0

ありがとうございました。 –

関連する問題