概述
前言
推薦
plotly
bokeh
pyecharts
后記
前言
更新:上一篇文章《python 數(shù)據可視化利器》中铐伴,我寫了 bokeh尘吗、pyecharts 的用法,但是有一個挺強大的庫 plotly 沒寫车胡,主要是我看到它的教程都是在 jupyter notebooks 中使用,說來也奇怪,硬是找不到如何本地使用(就是本地輸出 html 文件)睛榄,所以不敢寫出來。現(xiàn)在已經找到方法了想帅,這里我就在原文的基礎上增加了 plotly 的部分教程场靴。
前段時間有讀者向我反映,想看看數(shù)據可視化方面的文章港准,這不旨剥?現(xiàn)在就開始寫了,如果你想看哪些方面的文章浅缸,可以通過留言或者后臺告訴我轨帜。數(shù)據可視化的第三方庫挺多的,這里我主要推薦兩個衩椒,分別是 bokeh蚌父、pyecharts。如果我的文章對你有幫助毛萌,歡迎關注苟弛、點贊、轉發(fā)阁将,這樣我會更有動力做原創(chuàng)分享膏秫。
推薦
數(shù)據可視化的庫有挺多的,這里推薦幾個比較常用的:
Matplotlib
Plotly
Seaborn
Ggplot
Bokeh
Pyechart
Pygal
Plotly
plotly 文檔地址(https://plot.ly/python/#financial-charts)
使用方式:
plotly 有 online 和 offline 兩種方式做盅,這里只介紹 offline 的缤削。
這是 plotly 官方教程的一部分
import plotly.plotly as py
import numpy as np
data = [dict(
visible=False,
line=dict(color='#00CED1', width=6), # 配置線寬和顏色
name='?? = ' + str(step),
x=np.arange(0, 10, 0.01), # x 軸參數(shù)
y=np.sin(step * np.arange(0, 10, 0.01))) for step in np.arange(0, 5, 0.1)] # y 軸參數(shù)
data[10]['visible'] = True
py.iplot(data, filename='Single Sine Wave')
只要將最后一行中的
py.iplot
替換為下面代碼
py.offline.plot
便可以運行。
漏斗圖
這個圖代碼太長了言蛇,就不 po 出來了僻他。
Basic Box Plot
好吧,不知道怎么翻譯腊尚,直接用原名吨拗。
import plotly.plotly
import plotly.graph_objs as go
import numpy as np
y0 = np.random.randn(50)-1
y1 = np.random.randn(50)+1
trace0 = go.Box(
y=y0
)
trace1 = go.Box(
y=y1
)
data = [trace0, trace1]
plotly.offline.plot(data)
Wind Rose Chart
好吧,不知道怎么翻譯婿斥,直接用原名劝篷。
import plotly.graph_objs as go
trace1 = go.Barpolar(
r=[77.5, 72.5, 70.0, 45.0, 22.5, 42.5, 40.0, 62.5],
text=['North', 'N-E', 'East', 'S-E', 'South', 'S-W', 'West', 'N-W'],
name='11-14 m/s',
marker=dict(
color='rgb(106,81,163)'
)
)
trace2 = go.Barpolar(
r=[57.49999999999999, 50.0, 45.0, 35.0, 20.0, 22.5, 37.5, 55.00000000000001],
text=['North', 'N-E', 'East', 'S-E', 'South', 'S-W', 'West', 'N-W'], # 鼠標浮動標簽文字描述
name='8-11 m/s',
marker=dict(
color='rgb(158,154,200)'
)
)
trace3 = go.Barpolar(
r=[40.0, 30.0, 30.0, 35.0, 7.5, 7.5, 32.5, 40.0],
text=['North', 'N-E', 'East', 'S-E', 'South', 'S-W', 'West', 'N-W'],
name='5-8 m/s',
marker=dict(
color='rgb(203,201,226)'
)
)
trace4 = go.Barpolar(
r=[20.0, 7.5, 15.0, 22.5, 2.5, 2.5, 12.5, 22.5],
text=['North', 'N-E', 'East', 'S-E', 'South', 'S-W', 'West', 'N-W'],
name='< 5 m/s',
marker=dict(
color='rgb(242,240,247)'
)
)
data = [trace1, trace2, trace3, trace4]
layout = go.Layout(
title='Wind Speed Distribution in Laurel, NE',
font=dict(
size=16
),
legend=dict(
font=dict(
size=16
)
),
radialaxis=dict(
ticksuffix='%'
),
orientation=270
)
fig = go.Figure(data=data, layout=layout)
plotly.offline.plot(fig, filename='polar-area-chart')
Basic Ternary Plot with Markers
篇幅有點長,這里就不 po 代碼了民宿。
其他兩個庫的內容在上一篇文章中已經有了
后記
大概介紹就是這樣了娇妓,三個庫的功能都挺強大的,bokeh 的中文資料會少一點活鹰,如果閱讀英文有點難度哈恰,還是建議使用 pyecharts 就好只估。總體也不是很難着绷,按照文檔來修改數(shù)據都能夠直接上手使用蛔钙。主要是多練習。
本文完
本文轉自公眾號「zone7」