在當今快節奏的資料科學世界中,有效地視覺化資料至關重要。無論您是經驗豐富的數據分析師還是剛開始您的旅程,掌握各種視覺化技術都可以大大增強您傳達見解和推動決策的能力。本綜合指南探討了Streamlit,這是一個用於創建交互式Web 應用程式的流行Python 庫,並介紹了12 種強大的圖表類型,您可以輕鬆創建以可視化數據。從簡單的條形圖到高級地理空間視覺化,本教程涵蓋了所有內容。
Streamlit 徹底改變了資料科學家和開發人員創建用於資料視覺化的互動式 Web 應用程式的方式。憑藉其直覺的 API 以及與流行 Python 庫的無縫集成,Streamlit 可讓您在幾分鐘內將資料腳本轉換為可共享的 Web 應用程式。在本指南中,我們將重點介紹 Streamlit 在創建各種圖表類型方面的多功能性,每種圖表類型都針對不同的資料視覺化需求量身定制。
面積圖非常適合顯示一段時間內或跨類別的累積總數。它們強調變化的幅度以及不同數據集之間的關係,使它們非常適合追蹤趨勢和比較多個數據系列。
import numpy as np import pandas as pd import streamlit as st st.write("### 1. Area Chart") # Generate random data for the area chart chart_data = pd.DataFrame( np.random.randn(20, 3), columns=["col1", "col2", "col3"], ) # Create an area chart using the random data st.area_chart( chart_data, x="col1", y=["col2", "col3"], color=["#FF0000", "#0000FF"], )
長條圖是比較不同類別或組別的基本方法。它們在顯示離散資料點方面非常有效,可以輕鬆比較不同類別的數量。
import numpy as np import pandas as pd import streamlit as st st.write("### 1. Area Chart") # Generate random data for the area chart chart_data = pd.DataFrame( np.random.randn(20, 3), columns=["col1", "col2", "col3"], ) # Create an area chart using the random data st.area_chart( chart_data, x="col1", y=["col2", "col3"], color=["#FF0000", "#0000FF"], )
折線圖非常適合顯示連續資料(例如時間序列)的趨勢。它們有助於追蹤變化、識別模式以及比較同一時間間隔內的多個資料系列。
import numpy as np import pandas as pd import streamlit as st st.write("### 2. Bar Chart") # Generate random data for the bar chart chart_data = pd.DataFrame( np.random.randn(20, 3), columns=["col1", "col2", "col3"], ) # Display a bar chart using the same data st.bar_chart(chart_data)
地理資料視覺化對於空間分析至關重要,它允許您在地圖上可視化資料點,以識別不同位置的模式、熱點和分佈。
import numpy as np import pandas as pd import streamlit as st st.write("### 1. Area Chart") # Generate random data for the area chart chart_data = pd.DataFrame( np.random.randn(20, 3), columns=["col1", "col2", "col3"], ) # Create an area chart using the random data st.area_chart( chart_data, x="col1", y=["col2", "col3"], color=["#FF0000", "#0000FF"], )
散佈圖是辨識兩個變數之間關係或相關性的強大工具。它們有助於揭示數據中的模式、趨勢和潛在因果關係。
import numpy as np import pandas as pd import streamlit as st st.write("### 2. Bar Chart") # Generate random data for the bar chart chart_data = pd.DataFrame( np.random.randn(20, 3), columns=["col1", "col2", "col3"], ) # Display a bar chart using the same data st.bar_chart(chart_data)
Altair 是一個 Python 聲明式統計視覺化函式庫,透過簡單直覺的語法提供進階圖表功能。它擅長用最少的程式碼創建互動式和複雜的視覺化。
import numpy as np import pandas as pd import streamlit as st st.write("### 1. Area Chart") # Generate random data for the area chart chart_data = pd.DataFrame( np.random.randn(20, 3), columns=["col1", "col2", "col3"], ) # Create an area chart using the random data st.area_chart( chart_data, x="col1", y=["col2", "col3"], color=["#FF0000", "#0000FF"], )
Graphviz 是一種用於創建圖形和網絡圖的工具,使其對於可視化關係、工作流程和組織結構非常有價值。它允許您以清晰且有組織的方式表示複雜的連接。
import numpy as np import pandas as pd import streamlit as st st.write("### 2. Bar Chart") # Generate random data for the bar chart chart_data = pd.DataFrame( np.random.randn(20, 3), columns=["col1", "col2", "col3"], ) # Display a bar chart using the same data st.bar_chart(chart_data)
Plotly 是一個強大的函式庫,用於建立互動式和出版品質的圖表。它提供了廣泛的圖表類型和自訂選項,使其適合複雜的資料視覺化和互動式儀表板。
import numpy as np import pandas as pd import streamlit as st st.write("### 1. Area Chart") # Generate random data for the area chart chart_data = pd.DataFrame( np.random.randn(20, 3), columns=["col1", "col2", "col3"], ) # Create an area chart using the random data st.area_chart( chart_data, x="col1", y=["col2", "col3"], color=["#FF0000", "#0000FF"], )
import numpy as np import pandas as pd import streamlit as st st.write("### 2. Bar Chart") # Generate random data for the bar chart chart_data = pd.DataFrame( np.random.randn(20, 3), columns=["col1", "col2", "col3"], ) # Display a bar chart using the same data st.bar_chart(chart_data)
pydeck是deck.gl的Python接口,可實現先進的、高性能的WebGL驅動的可視化。它對於創建複雜的互動式地理空間視覺化特別有用。
import numpy as np import pandas as pd import streamlit as st st.write("### 3. Line Chart") # Generate random data for the line chart chart_data = pd.DataFrame( np.random.randn(20, 3), columns=["col1", "col2", "col3"], ) # Create a line chart with the random data st.line_chart( chart_data, x="col1", y="col2", color="col3", ) st.write("#### 3.1 Basic Line Chart")
Matplotlib 是 Python 中的基礎繪圖函式庫,pyplot 提供了類似 MATLAB 的介面,用於建立靜態、動畫和互動式視覺化。它具有高度可自訂性,廣泛用於統計數據分析和教育目的。
import numpy as np import pandas as pd import streamlit as st st.write("### 1. Area Chart") # Generate random data for the area chart chart_data = pd.DataFrame( np.random.randn(20, 3), columns=["col1", "col2", "col3"], ) # Create an area chart using the random data st.area_chart( chart_data, x="col1", y=["col2", "col3"], color=["#FF0000", "#0000FF"], )
Vega-Lite 是一種用於建立互動式視覺化的高級語法,整合到 Streamlit 以提高靈活性。它允許您使用簡潔的規範來建立複雜且反應迅速的圖表,從而更輕鬆地創建複雜的視覺化效果,而無需大量編碼。
import numpy as np import pandas as pd import streamlit as st st.write("### 2. Bar Chart") # Generate random data for the bar chart chart_data = pd.DataFrame( np.random.randn(20, 3), columns=["col1", "col2", "col3"], ) # Display a bar chart using the same data st.bar_chart(chart_data)
在本教程中,我們介紹了 Streamlit 中提供的各種圖表類型,每種圖表類型都適合不同的資料視覺化需求:
?取得程式碼:GitHub - jamesbmour/blog_tutorials
?相關Streamlit教學:JustCodeIt
?支持我的工作:請我喝杯咖啡
以上是Streamlit 部分掌握資料視覺化和圖表類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!