Plotly 是一個功能強大的開源數據可視化庫,支持多種編程語言,包括 Python、R、JavaScript 等。在 Python 中,Plotly 提供了豐富的圖表類型和交互功能,能夠幫助用戶輕松創建高質量的交互式圖表。本文將介紹如何在 Python 中使用 Plotly 框架進行數據可視化。
在開始使用 Plotly 之前,首先需要安裝它??梢酝ㄟ^ pip 命令來安裝 Plotly:
pip install plotly
如果你使用的是 Jupyter Notebook 或 JupyterLab,還可以安裝 plotly.express
和 plotly.graph_objects
來獲得更豐富的功能:
pip install plotly plotly.express plotly.graph_objects
在使用 Plotly 之前,首先需要導入相關的庫:
import plotly.express as px
import plotly.graph_objects as go
Plotly 提供了兩種主要的 API 來創建圖表:plotly.express
和 plotly.graph_objects
。
plotly.express
plotly.express
是一個高級 API,適合快速創建常見的圖表類型。例如,創建一個簡單的散點圖:
import plotly.express as px
df = px.data.iris() # 加載示例數據集
fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species")
fig.show()
plotly.graph_objects
plotly.graph_objects
是一個低級 API,提供了更多的自定義選項。例如,創建一個簡單的折線圖:
import plotly.graph_objects as go
x = [1, 2, 3, 4, 5]
y = [10, 15, 13, 17, 21]
fig = go.Figure(data=go.Scatter(x=x, y=y, mode='lines+markers'))
fig.show()
Plotly 的一個強大之處在于其交互功能。用戶可以通過鼠標懸停、縮放、平移等方式與圖表進行交互。例如,添加一個懸停文本:
import plotly.express as px
df = px.data.iris()
fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species", hover_data=['petal_width'])
fig.show()
Plotly 允許用戶對圖表進行高度自定義。例如,修改圖表的標題、軸標簽、顏色等:
import plotly.express as px
df = px.data.iris()
fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species")
fig.update_layout(
title="Iris Dataset",
xaxis_title="Sepal Width",
yaxis_title="Sepal Length",
font=dict(size=18)
)
fig.show()
Plotly 圖表可以保存為多種格式,包括 HTML、PNG、JPEG 等。例如,將圖表保存為 HTML 文件:
fig.write_html("chart.html")
或者將圖表保存為 PNG 文件:
fig.write_image("chart.png")
Plotly 支持創建包含多個子圖的圖表。例如,創建一個包含兩個子圖的圖表:
from plotly.subplots import make_subplots
import plotly.graph_objects as go
fig = make_subplots(rows=1, cols=2)
fig.add_trace(go.Scatter(x=[1, 2, 3], y=[4, 5, 6]), row=1, col=1)
fig.add_trace(go.Bar(x=[1, 2, 3], y=[2, 5, 3]), row=1, col=2)
fig.show()
Plotly 支持創建動畫圖表。例如,創建一個隨時間變化的散點圖:
import plotly.express as px
df = px.data.gapminder()
fig = px.scatter(df, x="gdpPercap", y="lifeExp", animation_frame="year", animation_group="country",
size="pop", color="continent", hover_name="country",
log_x=True, size_max=55, range_x=[100,100000], range_y=[25,90])
fig.show()
Plotly 支持創建地理圖表。例如,創建一個顯示各國人口的地圖:
import plotly.express as px
df = px.data.gapminder().query("year == 2007")
fig = px.choropleth(df, locations="iso_alpha", color="lifeExp", hover_name="country", color_continuous_scale=px.colors.sequential.Plasma)
fig.show()
Plotly 是一個功能強大且易于使用的數據可視化庫,適合從簡單的圖表到復雜的交互式圖表的各種需求。通過本文的介紹,你應該已經掌握了如何在 Python 中使用 Plotly 進行數據可視化的基本和高級技巧。希望你能在實際項目中充分利用 Plotly 的強大功能,創建出令人印象深刻的可視化圖表。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。