python3使用matplotlib和seaborn生成帶有擾動點的箱型圖
import csvimport seaborn as snsimport matplotlib.pyplot as plt# 解決中文不顯示和負號不顯示問題rc = { ? ?'font.family': 'Microsoft YaHei', 'axes.unicode_minus': False } fig = plt.figure(figsize=(20, 5)) sns.set(style="darkgrid", rc=rc)# ------------------------------------------------------------------------------------------------------# 實例程序 加載示例數(shù)據(jù)集# df = sns.load_dataset('iris',data_home="E:\code\learn-python3\seaborn-data-master")# df.head()# ax = sns.boxplot(x='species', y='sepal_length', data=df)# ax = sns.stripplot(x='species', y='sepal_length', data=df, color="orange", jitter=0.2, size=4)# plt.title("Boxplot with jitter", loc="center")# plt.show()# ------------------------------------------------------------------------------------------------------# 讀取csv文件獲取原始數(shù)據(jù)并處理數(shù)據(jù)xData = [] yData = [] num = 2with open('./files/test.csv', encoding='utf-8-sig') as f: ? ?reader = csv.reader(f, skipinitialspace=True) ? ?headers = next(reader) ? ?for row in reader: ? ? ? ?for i in range(0, num, 1): ? ? ? ? ? ?if (len(row) == 12): ? ? ? ? ? ? ? ?xData.append(headers[6+i*2]) ? ? ? ? ? ? ? ?yData.append(float(row[6+i*2]))# boxplotax = sns.boxplot(x=xData, y=yData)# 添加擾動點ax = sns.stripplot(x=xData, y=yData, color="orange", jitter=0.2, size=4) plt.xlabel('code') plt.ylabel('value') plt.title("Boxplot with jitter", loc="center")# plt.show()plt.savefig('./files/1.jpg')
?鏈接:https://www.dianjilingqu.com/626866.html