使用 Python 進行數據可視化之Plotly|Python 主題月

本文正在參加「Python主題月」,詳情查看 活動連接面試

上一篇文章咱們介紹了 Bokeh,接下來讓咱們繼續咱們列表的第四個庫。這是咱們列表中的最後一個庫,您可能想知道爲何用Plotly。如下就是它的優勢——數據庫

  • Potly 具備懸停工具功能,使咱們可以檢測衆多數據點中的任何異常值或異常狀況。
  • 它容許更多的定製。
  • 它使圖形在視覺上更具吸引力。

安裝

要安裝它,請在終端中輸入如下命令。express

pip install plotly
複製代碼

image.png

散點圖

散點圖中Plotly可使用被建立scatter()plotly.express的方法。和 Seaborn 同樣,這裏也須要一個額外的數據參數。編程

例子:markdown

import plotly.express as px
import pandas as pd

# 讀取數據庫
data = pd.read_csv("tips.csv")

# 繪製散點圖
fig = px.scatter(data, x="day", y="tip", color='sex')

# 顯示plot
fig.show()
複製代碼

輸出:ide

image.png

折線圖

Plotly 中的折線圖看起來比較直觀,而且是 plotly 的傑出合併,它管理各類類型的數據並組裝易於樣式的統計數據。使用px.line 將每一個數據位置表示爲一個頂點svn

例子:函數

import plotly.express as px
import pandas as pd

# 讀取數據庫
data = pd.read_csv("tips.csv")

# 繪製散點圖
fig = px.line(data, y='tip', color='sex')

# 顯示plot
fig.show()
複製代碼

image.png

條形圖

Plotly 中的條形圖可使用 plotly.express 類的 bar() 方法建立。工具

例子:佈局

import plotly.express as px
import pandas as pd

# 讀取數據庫
data = pd.read_csv("tips.csv")

# 繪製散點圖
fig = px.bar(data, x='day', y='tip', color='sex')

# 顯示情節
fig.show()
複製代碼

輸出:

image.png

直方圖

在plotly,直方圖可使用plotly.express類的histogram()函數建立。

例子:

import plotly.express as px
import pandas as pd

# 讀取數據庫
data = pd.read_csv("tips.csv")

# 繪製散點圖
fig = px.histogram(data, x='total_bill', color='sex')

# 顯示 plot
fig.show()
複製代碼

輸出:

image.png

添加交互

就像 Bokeh 同樣,plotly 也提供了各類交互。讓咱們討論其中的幾個。

建立下拉菜單:下拉菜單是菜單按鈕的一部分,始終顯示在屏幕上。每一個菜單按鈕都與一個菜單小部件相關聯,該小部件能夠在單擊該菜單按鈕時顯示該菜單按鈕的選項。在 plotly 中,有 4 種可能的方法可使用 updatemenu 方法來修改圖表。

  • restyle: 修改數據或數據屬性
  • relayout: 修改佈局屬性
  • update: 修改數據和佈局屬性
  • animate: 開始或暫停動畫

例子:

import plotly.graph_objects as px
import pandas as pd

# 讀取數據庫
data = pd.read_csv("tips.csv")


plot = px.Figure(data=[px.Scatter(
	x=data['day'],
	y=data['tip'],
	mode='markers',)
])

# 添加下拉菜單
plot.update_layout(
	updatemenus=[
		dict(
			buttons=list([
				dict(
					args=["type", "scatter"],
					label="Scatter Plot",
					method="restyle"
				),
				dict(
					args=["type", "bar"],
					label="Bar Chart",
					method="restyle"
				)
			]),
			direction="down",
		),
	]
)

plot.show()
複製代碼

輸出:

dropdownplotly.gif

添加按鈕: 在 plotly 中,動做自定義按鈕用於直接從記錄中快速製做動做。自定義按鈕能夠添加到 CRM、營銷和自定義應用程序中的頁面佈局。還有 4 種可能的方法能夠應用於自定義按鈕:

  • restyle: 修改數據或數據屬性
  • relayout: 修改佈局屬性
  • update: 修改數據和佈局屬性
  • animate: 開始或暫停動畫

例子:

import plotly.graph_objects as px
import pandas as pd

# 讀取數據庫
data = pd.read_csv("tips.csv")


plot = px.Figure(data=[px.Scatter(
	x=data['day'],
	y=data['tip'],
	mode='markers',)
])

# 添加下拉菜單
plot.update_layout(
	updatemenus=[
		dict(
			type="buttons",
			direction="left",
			buttons=list([
				dict(
					args=["type", "scatter"],
					label="Scatter Plot",
					method="restyle"
				),
				dict(
					args=["type", "bar"],
					label="Bar Chart",
					method="restyle"
				)
			]),
		),
	]
)

plot.show()
複製代碼

輸出:

buttonplotly.gif

建立滑塊和選擇器:

在 plotly 中,範圍滑塊是一個自定義範圍類型的輸入控件。它容許在指定的最小和最大範圍之間選擇一個值或一個值範圍。範圍選擇器是一種用於選擇要在圖表中顯示的範圍的工具。它提供了用於在圖表中選擇預配置範圍的按鈕。它還提供了輸入框,能夠手動輸入最小和最大日期

例子:

import plotly.graph_objects as px
import pandas as pd

# 讀取數據庫
data = pd.read_csv("tips.csv")

plot = px.Figure(data=[px.Scatter(
	y=data['tip'],
	mode='lines',)
])

plot.update_layout(
	xaxis=dict(
		rangeselector=dict(
			buttons=list([
				dict(count=1,
					step="day",
					stepmode="backward"),
			])
		),
		rangeslider=dict(
			visible=True
		),
	)
)

plot.show()
複製代碼

輸出:

sliderplotly.gif

小結

在本系列教程中,咱們藉助 Python 的四個不一樣繪圖模塊(即 MatplotlibSeabornBokeh 和 Plotly)繪製了tips 數據集。每一個模塊都以本身獨特的方式顯示情節,每一個模塊都有本身的一組功能,例如 Matplotlib 提供了更大的靈活性,但代價是編寫更多代碼,而 Seaborn 做爲一種高級語言提供了容許人們經過少許代碼。每一個模塊均可以根據咱們想要完成的任務使用。

🥇 Python 進行數據可視化系列彙總

🧵 更多相關文章

🍰 往日優秀文章推薦:

若是你真的從這篇文章中學到了一些新東西,喜歡它,收藏它並與你的小夥伴分享。🤗最後,不要忘了❤或📑支持一下哦

相關文章
相關標籤/搜索