저는 matplotlib뿐 아니라 python을 처음 사용했습니다. matplotlib의 히스토그램을 사용하여 각 도시의 여행 데이터를 플로팅하려고합니다. 다음은 플롯하려고하는 샘플 데이터입니다.matplotlib의 히스토그램에 시간 간격 설정 및 제한 추가
데이터 :
duration month hour day_of_week user_type
0 15.433333 3 23 Thursday Subscriber
1 3.300000 3 22 Thursday Subscriber
2 2.066667 3 22 Thursday Subscriber
3 19.683333 3 22 Thursday Subscriber
4 10.933333 3 22 Thursday Subscriber
5 19.000000 3 21 Thursday Subscriber
6 6.966667 3 21 Thursday Subscriber
7 17.033333 3 20 Thursday Subscriber
8 6.116667 3 20 Thursday Subscriber
9 6.316667 3 20 Thursday Subscriber
10 11.300000 3 20 Thursday Subscriber
11 8.300000 3 20 Thursday Subscriber
12 8.283333 3 19 Thursday Subscriber
13 36.033333 3 19 Thursday Subscriber
14 5.833333 3 19 Thursday Subscriber
15 5.350000 3 19 Thursday Subscriber
코드 :
def get_durations_as_list(filename):
with open(filename, 'r') as f_in:
reader = csv.reader(f_in)
next(reader, None)
for row in reader:
if row[4] in ['Subscriber','Registered'] and float(row[0]) < 75:
subscribers.append(float(row[0]))
elif row[4] in ['Casual','Customer'] and float(row[0]) < 75:
customers.append(float(row[0]))
return subscribers,customers
data_files = ['./data/Washington-2016-Summary.csv','./data/Chicago-2016-Summary.csv','./data/NYC-2016-Summary.csv',]
for file in data_files:
city = file.split('-')[0].split('/')[-1]
subscribers,customers = get_durations_as_list(file)
plt.hist(subscribers,range=[min(subscribers),max(subscribers)],bins=5)
plt.title('Distribution of Subscriber Trip Durations for city {}'.format(city))
plt.xlabel('Duration (m)')
plt.show()
plt.hist(customers,range=[min(subscribers),max(subscribers)],bins=5)
plt.title('Distribution of Customers Trip Durations for city {}'.format(city))
plt.xlabel('Duration (m)')
plt.show()
이제 질문은 넓은 5mins하는 시간 간격을 설정하는 방법과보다 작은 단지 여행을 플롯하는 방법입니다 75mins.
설명서를 읽었지만 복잡해 보입니다. 몇 stackoverflow 질문을 읽은 후 나는 빈이 시간 간격을 설정하는 데 사용되는 것을 발견했습니다. 제 가정은 정확합니까?
bins
인수는 빈 가장자리의 순서가 될 수 있습니다
이이 문제를 해결할 수 있으면 알려 주시기 바랍니다 기능을이다 –