2017-04-24 16 views
0

x 축에 날짜 (2017/04/24)를 표시하려고합니다. 1 주일 동안 볼륨 CSV 데이터가 있습니다. 일일 볼륨을 추가하고 하루 동안 음모를 꾸미는 중입니다. 특정 날짜와 배열이 있지만 월과 일이 없습니다.X 축에 플롯 날짜가

#DETERMINING WEEK DAYS- 
weekday_array = [] 
for i in range (len(timestamp)): 
    d = datetime.strptime(timestamp[i], "%Y-%m-%dT%H:%M:%S").day 
    weekday_array.append(d) 
#print(weekday_array) 

#TOTAL DAILY VOLUME 
daily_Vol = 0.0 
daily_total_vols = [] 
week_day =[] 
weekday_array.append(np.inf) 
day = 0 

#new_x = dates.datestr2num(date) 
for i in range(len(weekday_array)-1): 
    start = weekday_array[i] 
    next_d = weekday_array[i+1] 

    if start== next_d: 
     daily_Vol = daily_Vol + volume[i]/10 
     day = day+1 
    else: 
     week_day.append(weekday_array[i]) 
     daily_Vol = daily_Vol + volume[i]/10 
     daily_total_vols.append(daily_Vol) 
     daily_Vol = 0.0 

weekday_array.remove(np.inf) #Remove the extra value(infinity) added 

#PLOT WEEKLY VOLUME PER DAY 
fig = plt.figure(figsize=(20.0, 6.0)) 
ax = fig.add_subplot(1,1,1) 
ax.set_title('WEEKLY VOLUME USDED', fontsize=16) 
ax.set_xlabel('WEEKDAY', fontsize=12) 
ax.set_ylabel('VOLUME (litres)', fontsize=12) 
y = daily_total_vols 
x = week_day 
ax.bar(x,y,width =0.8,) 
for a,b in zip(x,y): 
    plt.text(a, b, str(b),fontsize=12) 

plt.show() 

기본적으로 y 축에는 daily_total_vols, x 축에는 week_day를 사용하고 싶습니다. X 축은 2017/04/24 또는 Mo, Tu, We, Thu, Fri, Sat, Sun이 될 수 있습니다. 미리 감사드립니다.

답변

0

나는 당신이 후에 무엇인지 이해하지만 당신은 y 축에 x 축과 숫자에 평일을 원한다면, 당신이 할 수있는 확실하지 않다 :

x_days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] 
x = [1,2,3,4,5,6,7] 
y = [1,2,3,4,5,6,7] 

plt.xticks(x, x_days) 
plt.plot(x, y) 
plt.show() 

plt_result

+0

내가 have는 하루의 날짜입니다. 2017-04-25에서 timestamp.day를 사용하고 25를 얻으므로 ID에는 day_day = [25,26,27,28,29,30,1]의 배열이 있습니다. 지금 내 계획은 위의 배열에 대해 일 총 볼륨을 플롯합니다. Id는 week_day = [Tue, Wed, Thu, Fri, Sat, Sun, Mon] 또는 week_day = [2017-04-25,2017-04-26,2017-04-27,2017-04-28,2017 -04-29,2017-04-30,2017-05-01] – che

+0

월요일에 시작하는 CSV 데이터는 항상 시작됩니다. – che