1. 程式人生 > >python資料分析基礎之圖與圖表——箱線圖

python資料分析基礎之圖與圖表——箱線圖

#_author:"zhengly"
#date:2018/8/30
'''
箱線圖
'''
import numpy as np
import matplotlib.pyplot as plt
plt.style.use('ggplot')
N = 500
normal = np.random.normal(loc=0.0,scale=1.0,size=N)
lognormal = np.random.lognormal(mean=0.0,sigma=1.0,size=N)
index_value = np.random.random_integers(low=0,high=N-1,size=N)
normal_sample = normal[index_value]
lognormal_sample = lognormal[index_value]
box_plot_data = [normal,normal_sample,lognormal,lognormal_sample]
fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)
#每個箱線的標籤
box_label = ['normal','normal_sample','lognormal','lognormal_sample']
#box_plot建立4個箱線圖,notch=False表示箱體是矩形,而不是中間收縮
#sym='.'表示離群點使用圓點,而不是預設的+號
#vert=True表示箱體是垂直的,不是水平的
#whis=1.5設定了指直線從第一四分位數和第三四分位數延伸出的範圍
#showmeans=True表示箱體在顯示中位數的同時也顯示均值
#lables=box_lable表示使用box_lable中的值來標記箱線圖
ax1.boxplot(box_plot_data,notch=False,sym='.',vert=True,whis=1.5,showmeans=True,labels=box_label)
ax1.xaxis.set_ticks_position('bottom')
ax1.yaxis.set_ticks_position('left')
ax1.set_title('Box Plots:Resampling of Two Distributions')
ax1.set_xlabel('Distribution')
ax1.set_ylabel('Value')
plt.savefig('box_plot.png',dpi=400,bbox_inches='tight')
plt.show()