当前位置: 首页 > Web前端 > HTML

交互式仪表板!Python让它变得简单!

时间:2023-03-28 15:08:45 HTML

馃挕绠€浠嬪湪鏈枃涓紝ShowMeAI灏嗚В閲婂浣曚娇鐢煋榠pywidget妯″潡鍒涘缓浜や簰寮忎华琛ㄦ澘銆傛垜浠繖娆′娇鐢ㄧ殑鏁版嵁闆嗘槸馃弳Kaggle鐨凜ardioGoodFitness锛屽ぇ瀹跺彲浠ラ€氳繃ShowMeAI鐨勭櫨搴︾綉鐩樺湴鍧€涓嬭浇銆傪煆嗗疄鎴樻暟鎹泦涓嬭浇锛堢櫨搴︾綉鐩橈級锛氬叕浼楀彿鈥淪howMeAI鐮旂┒涓績鈥濆洖澶嶁€滃疄鎴樷€濓紝鎴栫偣姝よ幏鍙栨湰鏂嘯41]ipywidgets锛氫娇鐢≒ython鍒涘缓浜や簰寮忎华琛ㄧ洏鈥淐ardioGoodFitness鏁版嵁闆嗏€濃瓙ShowMeAI瀹樻柟GitHub锛歡ithub.com/ShowMeAI-Hu...棣栧厛锛屾垜浠渶瑕佸鍏ラ渶瑕佺殑妯″潡銆俰mportpandasaspdimportipywidgetsimportseabornassnsimportmatplotlib.pyplotasplt澶嶅埗浠g爜璁╂垜浠厛鐪嬬湅鏁版嵁鍙橀噺銆傛暟鎹寘鍚?涓繛缁彉閲忥紝Income鍜孧iles銆傪煉anbanDemo瀹炵幇锛氫簡瑙iles鐨勫垎閰嶐煉﹀噯澶囧伐浣滒煋榠pywidget妯″潡鍖呭惈璁稿鍙敤鐨勫皬閮ㄤ欢銆傚湪鏈婕旂ず涓紝鎴戜滑灏嗕娇鐢ㄤ笅鎷夋鏉ラ€夋嫨绫诲埆鏁版嵁锛屼互鏇村ソ鍦颁簡瑙i噷绋嬪垎甯冦€傛垜浠皢閫夋嫨绠辩嚎鍥炬潵缁樺埗姣忎釜绫诲埆鐨勯噷绋嬫暟鎹€?matplotlibwidgetDropdownforboxplotvariabletobeselectdrop_down_name=ipywidgets.Dropdown(options=list(df.drop(['Miles','Income'],axis=1).columns),value=list(df.drop(['Miles','Income'],axis=1).columns)[0],description='Columns:',disabled=False)鎺ヤ笅鏉ワ紝鎴戜滑鍙互鍒涘缓涓€涓嚱鏁帮紝鍏佽杈撳叆鐢ㄤ簬缁樺埗鑻遍噷妗嗙嚎鍥捐〃鐨勫垪鍚嶃€俿elected_vals=columnusedtoplotdefboxplot(selected_vals):plt.close('all')fig=plt.figure(figsize=(9,5))plt.style.use('seaborn')sns.boxplot(df[selected_vals],df['Miles'])plt.title('Boxplotofmilesfor'+selected_vals)plt.show()澶嶅埗浠g爜鍚庯紝鎴戜滑闇€瑕佸垱寤轰竴涓煋榣ayout/layout锛孞upyterinteractivewidgets鏈変竴涓猯ayout灞炴€э紝鍖呭惈璁稿褰卞搷灏忛儴浠跺竷灞€鐨凜SS灞炴€с€傛渶绠€鍗曠殑瀹氬埗鏄疕Box锛屽畠鏄竴涓按骞冲竷灞€鐨勯€夋嫨鍣紝鍜孷Box锛屽畠浠h〃涓€涓瀭鐩村竷灞€鐨勯€夋嫨鍣ㄣ€備互涓嬫槸HBox鎴朧Box甯冨眬鐨勭ず渚嬨€傛帴涓嬫潵鎴戜滑鍑嗗杈撳叆鍜岃緭鍑哄竷灞€鐨勬樉绀恒€傝繃婊ゅ竷灞€gui2=ipywidgets.HBox([drop_down_name])灏嗕綘鐨勫嚱鏁伴摼鎺ュ埌浣犵殑杈撳叆浠g爜鏄痻銆亂鍜岃壊璋冦€傜敱浜庢瘡涓彉閲忛兘鏄竴涓€夋嫨锛屾垜浠娇鐢ㄤ簡涓嬫媺妗嗐€傪煉﹁緭鍏ヨ璁°€侀€夐」銆佸€煎拰瑕佺‘瀹氱殑鎻忚堪dropboxselectxaxisdrop_down_x=ipywidgets.Dropdown(options=list(df.columns),value=list(df.columns)[0],description='Xvariable:',disabled=False)dropboxselectyaxisdrop_down_y=ipywidgets.Dropdown(options=list(['Miles','Income']),value=list(['Miles','Income'])[0],description='Y鍙橀噺:',disabled=False)dropboxselectcategorydrop_down_category=ipywidgets.Dropdown(options=list(df.drop(['Miles','Income'],axis=1).columns),value=list(df.drop(['Miles','Income'],axis=1).columns)[0],description='Category:',disabled=False)澶嶅埗浠g爜馃挦鏁g偣鍥剧粯鍒舵暎鐐瑰浘鍑芥暟defscatter(x,y,category):plt.close('all')fig=plt.figure(figsize=(9,5))plt.style.use('seaborn')sns.scatterplot(data=df,x=x,y=y,hue=category)plt.title('Scatterplotof'+x+'versus'+y)#plt.xlabel('Date')plt.show()澶嶅埗浠g爜馃挦鏄剧ずHBox鎴朧Box鐨勯€夋嫨鍣ㄥ竷灞€鏄剧ず杩囨护鐨勫竷灞€gui3=ipywidgets.HBox([drop_down_x,drop_down_y,drop_down_category]):drop_down_category})澶嶅埗浠g爜馃挦鏄剧ず閫変腑鐨勮緭鍏ヨ緭鍑烘樉绀鸿緭鍏ヨ緭鍑篸isplay(ui3,out3)澶嶅埗浠g爜