日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Python數據可視化:簡單條形圖、帕累托圖、堆疊條形圖、餅圖、環(huán)形圖

 漢無為 2024-07-22 發(fā)布于貴州

為了解決特定問題而進行的學習是提高效率的最佳途徑。這種方法能夠使我們專注于最相關的知識和技能,從而更快地掌握解決問題所需的能力。

(以下練習題來源于《統(tǒng)計學—基于Python》。請在Q群455547227下載原始數據。)


練習題

為了研究不同地區(qū)的消費者對網上購物的滿意度,隨機抽取東部、中部和西部的1000名消費者進行調查,得到的結果如下表所示。繪制以下圖形。
圖片

(1)根據東部地區(qū)的滿意度數據,繪制簡單條形圖、帕累托圖和餅圖。

(2)根據東部地區(qū)、中部地區(qū)和西部地區(qū)的滿意度數據,繪制并列條形圖、推疊條形圖和環(huán)形圖。


Python代碼與繪圖

(1)根據東部地區(qū)的滿意度數據,繪制簡單條形圖、帕累托圖和餅圖。
# (1)根據東部地區(qū)的滿意度數據,繪制簡單條形圖、帕累托圖和餅圖import pandas as pdimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['Heiti TC']plt.rcParams['axes.unicode_minus'] = Falsedf = pd.read_csv('exercise3_1.csv') plt.subplots(1, 3, figsize = (20, 5)) # 設置子圖和圖形大小# 圖(a)東部地區(qū)滿意度的簡單條形圖plt.subplot(131)plt.barh(y = df['滿意度'], width = df['東部'], alpha = 0.6) # 繪制水平條形圖plt.xlabel('消費者人數', size = 12)plt.ylabel('滿意度', size = 12)plt.title('(a)東部地區(qū)滿意度的條形圖', size = 15)plt.xlim(0, 150) # 設置x軸的范圍 # 圖(b)東部地區(qū)滿意度的帕累托圖# 處理數據df_p = df.sort_values(by = '東部', ascending = False) # 按東部地區(qū)消費者人數降序排序數據框p = 100*df_p['東部'].cumsum()/df_p['東部'].sum() # 計算累計百分比df_p['累計百分比'] = p# 繪制直方圖ax = plt.subplot(132)ax.bar(df_p['滿意度'], df_p['東部'], color = 'steelblue') # 繪制條形圖ax.set_ylabel('消費者人數', size = 12) # 設置y軸標簽ax.set_xlabel('滿意度', size = 12) # 設置x軸標簽# 繪制帕累托曲線ax2 = ax.twinx() # 與條形圖共享坐標軸ax2.plot(df_p['滿意度'], df_p['累計百分比'], color = 'C1', marker = 'D', ms = 7) # 繪制折線圖ax2.set_ylabel('累計百分比(%)', size = 12) # 設置y軸標簽plt.title('(b)東部地區(qū)滿意度的帕累托圖', size = 15) # 圖(c)東部地區(qū)滿意度的3D餅圖plt.subplot(133)p1 = plt.pie(df['東部'], labels = df['滿意度'], autopct = '%1.2f%%', shadow = True, # 繪制立體帶陰影的餅圖 explode = (0.11, 0, 0, 0, 0)) # 設置某一塊與中心的距離plt.title('(c)東部地區(qū)滿意度的3D餅圖', size = 15)
圖片

(2)根據東部地區(qū)、中部地區(qū)和西部地區(qū)的滿意度數據,繪制并列條形圖、推疊條形圖和環(huán)形圖。

#(2)根據東部地區(qū)、中部地區(qū)和西部地區(qū)的滿意度數據,繪制并列條形圖、推疊條形圖和環(huán)形圖import pandas as pdimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['Heiti TC']plt.rcParams['axes.unicode_minus'] = Falsedf = pd.read_csv('exercise3_1.csv') plt.subplots(1, 3, figsize = (20, 5))  # 設置子圖和圖形大小# 圖(a)并列條形圖ax1 = plt.subplot(131) # 設置子圖1df.plot(kind = 'bar', stacked = False, width = 0.8, ax = ax1) # 繪制并列條形圖plt.xlabel('滿意度', size = 12)plt.ylabel('消費者人數', size = 12)plt.xticks(range(5), df['滿意度'], rotation = 0)  # 添加x軸標簽并設置旋轉角度plt.title('(a)并列條形圖', fontsize = 13, color = 'black') # 圖(b)堆疊條形圖ax2 = plt.subplot(132) # 設置子圖2df.plot(kind = 'bar', stacked = True, width = 0.5, ax = ax2) # 繪制堆疊條形圖plt.xlabel('滿意度', size = 12)plt.ylabel('消費者人數', size = 12)plt.xticks(range(5), df['滿意度'], rotation = 0)  # 添加x軸標簽并設置旋轉角度plt.title('(b)堆疊條形圖', fontsize = 13, color = 'black') # 圖(c)多樣本嵌套環(huán)形圖plt.subplot(133) # 設置子圖3colors = ['red', 'yellow', 'slateblue', 'lawngreen', 'magenta', 'green', 'orange', 'cyan', 'pink', 'gold'] # 設置顏色向量p1 = plt.pie(df['東部'], labels = df['滿意度'], autopct = '%1.2f%%',             radius = 1, pctdistance = 0.9, # 半徑為1,標簽距圓心距離為0.9            colors = colors,            wedgeprops = dict(linewidth = 1.2, width = 0.3, edgecolor = 'w'))p2 = plt.pie(df['西部'], autopct = '%1.2f%%',             radius = 0.75, pctdistance = 0.85, # 半徑為0.75,標簽距圓心距離為0.85            colors = colors,            wedgeprops = dict(linewidth = 1.2, width = 0.3, edgecolor = 'w'))p3 = plt.pie(df['中部'], autopct = '%1.2f%%',             radius = 0.5, pctdistance = 0.7, # 半徑為0.5,標簽距圓心距離為0.7            colors = colors,            wedgeprops = dict(linewidth = 1.2, width = 0.3, edgecolor = 'w'))plt.title('(c)多樣本嵌套環(huán)形圖', fontsize = 13, color = 'black') # plt.tight_layout()

圖片


都讀到這里了,不妨關注、點贊一下吧!

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多