#coding:utf-8
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用來正常顯示中文標簽
plt.rcParams['axes.unicode_minus']=False #用來正常顯示負號
import pandas as pd
from pandas import Series,DataFrame
'''
plt.scatter(x,y)
plt.show()
plt.bar(x,y,width=0.3,color='y')
plt.bar(x+0.3,y2,width=0.3,color='y')
plt.bar(x,y2,width=0.3,color='y',bottom=y)
plt.pie(x=x,labels=y,...)
plt.show()
plt.boxplot(data,sym='o',whis=0.05)
plt.boxplot(data,labels=labe)
plt.show()
'''
data_train=pd.read_csv(r'C:\python\demo\ML\data\TravelRecords0708.csv',encoding='gbk')
title ='(2017.07-2017.08)'
#print(data_train.loc[:,['Name','Team','TravelDays','RequesterAddress']])
def tongjiByName():
fig = plt.figure()
fig.set(alpha=0.2) # 設定圖表顏色alpha參數
#plt.subplot2grid((2, 3), (0, 0)) # 在一張大圖里分列幾個小圖
data_train.Name.value_counts().plot(kind='bar') # plots a bar graph of those who surived vs those who did not.
plt.title(u"DB出差同事出差次數情況統計"+title) # puts a title on our graph
plt.ylabel(u"出差次數")
plt.text(20,4.5,u'出差總次數(次):')
plt.text(25, 4.5, data_train.Name.value_counts().values.sum())
plt.text(20,4.0,u'出差總人數(個):')
plt.text(25, 4.0, len(data_train.Name.value_counts()))
plt.text(20,3.5,u'出差總天數(天):')
plt.text(25, 3.5, data_train.TravelDays.values.sum())
print(data_train.TravelDays.values.sum())
plt.show()
def tongjiByteam():
fig = plt.figure()
fig.set(alpha=0.2) # 設定圖表顏色alpha參數
#plt.subplot2grid((2, 3), (0, 0)) # 在一張大圖里分列幾個小圖
data_train.Team.value_counts().plot(kind='pie') # plots a bar graph of those who surived vs those who did not.
#data_train.Team.value_counts().plot(kind='bar') # plots a bar graph of those who surived vs those who did not.
print(data_train.Team.value_counts())
plt.title(u"深圳馬會各team出差人數統計情況(2017.07-08)") # puts a title on our graph
plt.text(5.5,10.5,u'出差總人數(次):')
plt.text(6.8, 10.5, data_train.Team.value_counts().values.sum()) #統計series的value 總和
#plt.text(5.5, 9.5, u'出差team數(個):')
#plt.text(6.8, 9.5, len(data_train.Team.value_counts().index)) #統計series的index 總和
#plt.ylabel(u"出差人數")
plt.show()
def tongjiByteamPIE():
fig = plt.figure()
fig.set(alpha=0.2) # 設定圖表顏色alpha參數
labels=data_train.Team.value_counts().index
explode = [0, 0.5,0,0,0,0,0,0,0,0,0,0] # 0.1 凸出這部分,
plt.pie(x=data_train.Team.value_counts(),labels=labels,autopct='%3.1f %%',shadow=True,labeldistance=1.1,startangle=90,pctdistance=0.6)
plt.title(u"DB各team出差人數統計情況"+title) # puts a title on our graph
plt.text(5.5,10.5,u'出差總人數(次):')
plt.text(6.8, 10.5, data_train.Team.value_counts().values.sum()) #統計series的value 總和
plt.show()
def tongjiByTravelDays():
fig = plt.figure()
fig.set(alpha=0.2) # 設定圖表顏色alpha參數
#plt.subplot2grid((2, 3), (0, 0)) # 在一張大圖里分列幾個小圖
data_train.TravelDays.value_counts().plot(kind='bar') # plots a bar graph of those who surived vs those who did not.
#data_train.Team.value_counts().plot(kind='bar') # plots a bar graph of those who surived vs those who did not.
print(data_train.Team.value_counts())
plt.title(u"DB各team出差時長統計情況"+title) # puts a title on our graph
plt.text(2.5,30.5,u'出差人次(人):')
plt.text(3.8, 30.5, data_train.TravelDays.value_counts().values.sum()) #統計series的value 總和
plt.text(2.5, 25.5, u'出差時長種類(類):')
plt.text(3.8, 25.5, len(data_train.TravelDays.value_counts().index)) #統計series的index 總和
plt.text(2.5, 20.5, u'出差時長最長天數(天):')
plt.text(3.8, 20.5, data_train.TravelDays.values.max()) #統計series的index 總和
print(data_train.TravelDays.values.max())
plt.ylabel(u"出差人數")
plt.xlabel(u"出差天數")
plt.show()
def tongjiByRequestAddress():
fig = plt.figure()
fig.set(alpha=0.2) # 設定圖表顏色alpha參數
#plt.subplot2grid((2, 3), (0, 0)) # 在一張大圖里分列幾個小圖
#data_train.RequesterAddress.value_counts().plot(kind='pie') # plots a bar graph of those who surived vs those who did not.
#data_train.Team.value_counts().plot(kind='bar') # plots a bar graph of those who surived vs those who did not.
labels='HK','SZ'
explode = [0, 0.2] # 0.1 凸出這部分,
plt.pie(x=data_train.RequesterAddress.value_counts(),labels=labels,autopct='%1.1f %%',shadow=True,labeldistance=1.1,startangle=90,pctdistance=0.6)
print(data_train.RequesterAddress.value_counts())
plt.title(u"DB同事出差邀請(香港/深圳)統計情況"+title) # puts a title on our graph
plt.show()
#tongjiByName()
#tongjiByteam()
tongjiByteamPIE()
#tongjiByTravelDays()
#tongjiByRequestAddress()