日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【Python】面向小白的Python可视化教程,超全的!

發(fā)布時間:2025/3/12 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python】面向小白的Python可视化教程,超全的! 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

今天小編總結(jié)歸納了若干個常用的可視化圖表,并且通過調(diào)用plotly、matplotlib、altair、bokeh和seaborn等模塊來分別繪制這些常用的可視化圖表,最后無論是繪制可視化的代碼,還是會指出來的結(jié)果都會通過調(diào)用streamlit模塊展示在一個可視化大屏,出來的效果如下圖所示

那我們接下去便一步一步開始可視化大屏的制作吧!

標題、副標題以及下拉框

首先我們對標題、副標題部分的內(nèi)容,代碼如下

with?st.container():st.title("Python可視化合集")st.header("經(jīng)典常用的Python可視化模塊")st.write("""包括代碼和可視化圖表展示""")

然后便是下拉框的制作,代碼如下

plot_types?=?("Scatter","Histogram","Bar","Line","Boxplot" ) #?選擇繪制的圖表種類 chart_type?=?st.selectbox("Choose?your?chart?type",?plot_types)with?st.container():st.subheader(f"Showing:??{chart_type}")st.write("")

對于圖表的展示可以選擇是“雙排式”的,如下圖所示

也可以選擇是沉浸式的,也即是“單排式”的,如下圖所示

代碼如下

two_cols?=?st.checkbox("2?columns?",?True) if?two_cols:col1,?col2?=?st.columns(2)#?展示圖表 if?two_cols:with?col1:show_plot(kind="Matplotlib")with?col2:show_plot(kind="Seaborn")with?col1:show_plot(kind="Plotly?Express")with?col2:show_plot(kind="Altair")with?col1:show_plot(kind="Pandas?Matplotlib")with?col2:show_plot(kind="Bokeh") else:with?st.container():for?lib?in?libs:show_plot(kind=lib)

對于雙排式的展示方式而言,col1也就是左邊,放置的是matplotlib、plotly、以及pandas繪制出來的圖表,右邊也就是col2也就是右邊,放置的是seaborn、altair以及bokeh繪制出來的圖表,而上述代碼中調(diào)用的show_plot()函數(shù)代碼如下

#?生成圖表 def?show_plot(kind:?str):st.write(kind)if?kind?==?"Matplotlib":plot?=?matplotlib_plot(chart_type,?df)st.pyplot(plot)elif?kind?==?"Seaborn":plot?=?sns_plot(chart_type,?df)st.pyplot(plot)elif?kind?==?"Plotly?Express":plot?=?plotly_plot(chart_type,?df)st.plotly_chart(plot,?use_container_width=True)elif?kind?==?"Altair":plot?=?altair_plot(chart_type,?df)st.altair_chart(plot,?use_container_width=True)elif?kind?==?"Pandas?Matplotlib":plot?=?pd_plot(chart_type,?df)st.pyplot(plot)elif?kind?==?"Bokeh":plot?=?bokeh_plot(chart_type,?df)st.bokeh_chart(plot,?use_container_width=True)

是一系列if...else...的判斷,當繪制圖表的模塊是matplotlib時就調(diào)用對應(yīng)的matplotlib_plot()函數(shù),當繪制圖表的模塊是seaborn時就調(diào)用對應(yīng)的sns_plot()函數(shù),依次同理。我們來看其中一個函數(shù)sns_plot()的具體邏輯,代碼如下

def?sns_plot(chart_type:?str,?df):"""?生成seaborn繪制的圖表?"""fig,?ax?=?plt.subplots()if?chart_type?==?"Scatter":with?st.echo():sns.scatterplot(data=df,x="bill_depth_mm",y="bill_length_mm",hue="species",)plt.title("Bill?Depth?by?Bill?Length")elif?chart_type?==?"Histogram":with?st.echo():sns.histplot(data=df,?x="bill_depth_mm")plt.title("Count?of?Bill?Depth?Observations")elif?chart_type?==?"Bar":with?st.echo():sns.barplot(data=df,?x="species",?y="bill_depth_mm")plt.title("Mean?Bill?Depth?by?Species")elif?chart_type?==?"Boxplot":with?st.echo():sns.boxplot(data=df["bill_depth_mm"].dropna())plt.title("Bill?Depth?Observations")elif?chart_type?==?"Line":with?st.echo():sns.lineplot(data=df,?x=df.index,?y="bill_length_mm")plt.title("Bill?Length?Over?Time")return?fig

其實也是一系列if...else...的判斷,當所要繪制的圖表是散點圖時,調(diào)用的是sns.scatterplot()函數(shù),所要繪制的是直方圖時,調(diào)用的是sns.histplot(),繪制的柱狀圖或者是折線圖時也是同理

最后要是我們想要查看源數(shù)據(jù)時,也可以查看,代碼如下

#?展示源數(shù)據(jù) with?st.container():show_data?=?st.checkbox("See?the?raw?data?")if?show_data:df#?要點st.subheader("Notes")st.write("""-?這個應(yīng)用是通過python當中的streamlit模塊制作出來的-?關(guān)注"關(guān)于數(shù)據(jù)分析與可視化",學(xué)習(xí)更多數(shù)據(jù)分析和可視化知識與技能""")

output

往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載(圖文+視頻)機器學(xué)習(xí)入門系列下載中國大學(xué)慕課《機器學(xué)習(xí)》(黃海廣主講)機器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印《統(tǒng)計學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載機器學(xué)習(xí)交流qq群955171419,加入微信群請掃碼:

總結(jié)

以上是生活随笔為你收集整理的【Python】面向小白的Python可视化教程,超全的!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。