【项目实战】多场景下的图表可视化表达
生活随笔
收集整理的這篇文章主要介紹了
【项目实战】多场景下的图表可视化表达
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
多場景下的圖表可視化表達
- 數據:
2016年奧運運動員數據,數據格式為xlsx,分3個sheet
1、分男女分別分析運動員的身高分布,并制作圖表,數據為“奧運運動員數據.xlsx,sheet → 運動員信息”
- 要求:
① 制作分布密度圖
② 計算出男女平均身高,并繪制輔助線表示 - 提示:
① 可視化制圖方法 → sns.distplot()
② 輔助線制圖方法 → plt.axvline()
③ 分男女分別篩選數據并制作圖表
④ 不需要創建函數
2、綜合指標判斷運動員的身材,并找到TOP8的運動員,并制作圖表,數據為“奧運運動員數據.xlsx,sheet → 運動員信息”
- 要求:
① 針對不同指標,繪制面積堆疊圖
② TOP8的運動員,繪制雷達圖表示 - 提示:
① 四個指標評判運動員身材,并加權平均
a. BMI 指數(BMI =體重kg ÷ 身高m**2,詳細信息可百度查詢)→ 越接近22分數越高
b. 腿長/身高 指數 → 數據篩選,只選取小于0.7的數據,越大分數越高
c. 臂展/身高 指數 → 數據篩選,只選取大于0.7的數據,比值越接近1分數越高
d. 年齡 指數 → 年齡越小分數越高
對上述abcd指標分別標準化得到n1,n2,n3,n4(劃分到0-1的分值)
最后評分: finalscore = (n1 + n2 + n3 + n4)/4
② 制作堆疊面積圖,data.plot.area()
③ 雷達圖需要構建子圖 + for循環遍歷得到
3、根據運動員CP數據,分析出CP綜合熱度,通過python處理數據并導出,在Gephi中繪制圖表,數據為“奧運運動員數據.xlsx,sheet → 運動員CP熱度”
- 要求:
① 用python計算出綜合熱度指標
② 用Gephi繪制關系可視化圖表 - 提示:
① 三個指標評判運動員CP綜合熱度,并加權平均
a. cp微博數量 → 數量越多分數越高
b. cp微博話題閱讀量 → 閱讀量越多分數越高
c. B站cp視頻播放量 → 播放量越大分數越高
對上述abcd指標分別標準化得到n1,n2,n3,n4(劃分到0-1的分值)
最后評分: finalscore = n10.5 + n20.3 + n3*0.2
② Gephi中布局模式選擇“ForceAtlas2”
③ Gephi中通過模塊化計算,給關聯結果做分組,并且以此分組設定點顏色
一 導入python包
import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns % matplotlib inlineimport warnings warnings.filterwarnings('ignore')1、分男女分別分析運動員的身高分布,并制作圖表,數據為“奧運運動員數據.xlsx,sheet → 運動員信息”
- 要求:
① 制作分布密度圖
② 計算出男女平均身高,并繪制輔助線表示 - 提示:
① 可視化制圖方法 → sns.distplot()
② 輔助線制圖方法 → plt.axvline()
③ 分男女分別篩選數據并制作圖表
④ 不需要創建函數
二 數據讀取
# pd.read_excel → 讀取excel文件,這里得到的是pandas的dataframe數據格式data = df[['event','name','gender','height']] data.dropna(inplace = True) # 去掉缺失值 data_male = data[data['gender'] == '男'] data_female = data[data['gender'] == '女']# 篩選數據,按照目標字段篩選 # 提取男女數據 hmean_male = data_male['height'].mean() hmean_female = data_female['height'].mean() # 計算男女平均身高 sns.set_style("ticks") # 圖表風格設置 # 風格選擇包括:"white", "dark", "whitegrid", "darkgrid", "ticks" plt.figure(figsize = (8,4)) # 設置作圖大小 sns.distplot(data_male['height'],hist = False,kde = True,rug = True,rug_kws = {'color':'y','lw':2,'alpha':0.5,'height':0.1} , # 設置數據頻率分布顏色kde_kws={"color": "y", "lw": 1.5, 'linestyle':'--'}, # 設置密度曲線顏色,線寬,標注、線形label = 'male_height') sns.distplot(data_female['height'],hist = False,kde = True,rug = True,rug_kws = {'color':'g','lw':2,'alpha':0.5} , kde_kws={"color": "g", "lw": 1.5, 'linestyle':'--'},label = 'female_height') # 繪制男女高度分布密度圖 plt.axvline(hmean_male,color='y',linestyle=":",alpha=0.8) plt.text(hmean_male+2,0.005,'male_height_mean: %.1fcm' % (hmean_male), color = 'y') # 繪制男運動員平均身高輔助線 plt.axvline(hmean_female,color='g',linestyle=":",alpha=0.8) plt.text(hmean_female+2,0.008,'female_height_mean: %.1fcm' % (hmean_female), color = 'g') # 繪制女運動員平均身高輔助線 plt.ylim([0,0.03]) plt.grid(linestyle = '--') # 添加網格線 plt.title("Athlete's height") # 添加圖表名 # 圖表其他內容2、綜合指標判斷運動員的身材,并找到TOP8的運動員,并制作圖表,數據為“奧運運動員數據.xlsx,sheet → 運動員信息”
- 要求:
① 針對不同指標,繪制面積堆疊圖
② TOP8的運動員,繪制雷達圖表示 - 提示:
① 四個指標評判運動員身材,并加權平均
a. BMI 指數(BMI =體重kg ÷ 身高m**2,詳細信息可百度查詢)→ 越接近22分數越高
b. 腿長/身高 指數 → 數據篩選,只選取小于0.7的數據,越大分數越高
c. 臂展/身高 指數 → 數據篩選,只選取大于0.7的數據,比值越接近1分數越高
d. 年齡 指數 → 年齡越小分數越高
對上述abcd指標分別標準化得到n1,n2,n3,n4(劃分到0-1的分值)
最后評分: finalscore = (n1 + n2 + n3 + n4)/4
② 制作堆疊面積圖,data.plot.area()
③ 雷達圖需要構建子圖 + for循環遍歷得到
- (1) 分析運動員全樣本數據的身材分布情況
- (2) 解讀身材最好的前8位運動員
- 3、根據運動員CP數據,分析出CP綜合熱度,通過python處理數據并導出,在Gephi中繪制圖表,數據為“奧運運動員數據.xlsx,sheet → 運動員CP熱度”
- 要求:
① 用python計算出綜合熱度指標
② 用Gephi繪制關系可視化圖表 - 提示:
① 三個指標評判運動員CP綜合熱度,并加權平均
a. cp微博數量 → 數量越多分數越高
b. cp微博話題閱讀量 → 閱讀量越多分數越高
c. B站cp視頻播放量 → 播放量越大分數越高
對上述abcd指標分別標準化得到n1,n2,n3,n4(劃分到0-1的分值)
最后評分: finalscore = n10.5 + n20.3 + n3*0.2
② Gephi中布局模式選擇“ForceAtlas2”
③ Gephi中通過模塊化計算,給關聯結果做分組,并且以此分組設定點顏色
總結
以上是生活随笔為你收集整理的【项目实战】多场景下的图表可视化表达的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数据分析】多场景下的算法构建
- 下一篇: 【项目实战】汽车金融评分卡