可能是最強(qiáng)的Python可視化神器,建議一試!
可能是最強(qiáng)的Python可視化神器,建議一試!
gh_1d7504e4dee1
分享Python架構(gòu)師,Python架構(gòu)師教程、Python教程、Python微服務(wù)架構(gòu)、Python分布式架構(gòu)、Python高可用架構(gòu)、Pycharm注冊(cè)碼、Pycharm教程、Python爬蟲(chóng)、Python數(shù)據(jù)分析等。
數(shù)據(jù)分析離不開(kāi)數(shù)據(jù)可視化,我們最常用的就是Pandas,Matplotlib,Pyecharts當(dāng)然還有Tableau,看到一篇文章介紹Plotly制圖后我也躍躍欲試,查看了相關(guān)資料開(kāi)始嘗試用它制圖。
點(diǎn)擊領(lǐng)取Python面試題手冊(cè)
Python從入門(mén)到進(jìn)階知識(shí)手冊(cè)
Plotly是一款用來(lái)做數(shù)據(jù)分析和可視化的在線平臺(tái),功能非常強(qiáng)大,可以在線繪制很多圖形比如條形圖、散點(diǎn)圖、餅圖、直方圖等等。
而且還是支持在線編輯,以及多種語(yǔ)言Python、Javascript、Matlab、R等許多API。
它在Python中使用也很簡(jiǎn)單,直接用Pip Install Plotly就可以了。
推薦最好在Jupyter notebook中使用,Pycharm操作不是很方便。
使用Plotly可以畫(huà)出很多媲美Tableau的高質(zhì)量圖:
我嘗試做了折線圖、散點(diǎn)圖和直方圖,首先導(dǎo)入庫(kù):
from
plotly.graph_objs
import
Scatter,Layout
import
plotly
import
plotly.offline
as
py
import
numpy
as
np
import
plotly.graph_objs
as
go
#setting offilne 離線模式
plotly.offline.init_notebook_mode(connected=
True
)
上面幾行代碼主要是引用一些庫(kù),Plotly有在線和離線兩種模式,在線模式需要有賬號(hào)可以云編輯。
我選用的離線模式,Plotly設(shè)置為Offline模式就可以直接在Notebook里面顯示了。
N
=
100
random_x
=
np.linspace(0,1,N)
random_y0
=
np.random.randn(N)+5
random_y1
=
np.random.randn(N)
random_y2
=
np.random.randn(N)-5
#Create traces
trace0
=
go.Scatter(
x
=
random_x,
y
=
random_y0,
mode
=
’markers’,
name
=
’markers’
)
trace1
=
go.Scatter(
x
=
random_x,
y
=
random_y1,
mode
=
’lines+markers’,
name
=
’lines+markers’
)
trace2
=
go.Scatter(
x
=
random_x,
y
=
random_y2,
mode
=
’lines’,
name
=
’lines’
)
data
=
[trace0,trace1,trace2]
py.iplot(data)
隨機(jī)設(shè)置4個(gè)參數(shù),一個(gè)x軸的數(shù)字和三個(gè)y軸的隨機(jī)數(shù)據(jù),制作出三種不同類(lèi)型的圖。
Trace0是Markers,Trace1是Lines和Markers,Trace3是Lines。
然后把三種圖放在Data這個(gè)列表里面,調(diào)用py.iplot(data)即可。繪制的圖片系統(tǒng)默認(rèn)配色也挺好看的~
trace1
=
go.Scatter(
y
=
np.random.randn(500),
mode
=
’markers’,
marker
=
dict(
size
=
16,
color
=
np.random.randn(500),
colorscale
=
’Viridis’,
showscale
=
True
)
)
data
=
[trace1]
py.iplot(data)
把Mode設(shè)置為Markers就是散點(diǎn)圖,然后Marker里面設(shè)置一組參數(shù),比如顏色的隨機(jī)范圍,散點(diǎn)的大小,還有圖例等等。
trace0 = go.Bar(
x = [
’Jan’
,
’Feb’
,
’Mar’
,
’Apr’
,
’May’
,
’Jun’
,
’Jul’
,
’Aug’
,
’Sep’
,
’Oct’
,
’Nov’
,
’Dec’
],
y = [
20
,
14
,
25
,
16
,
18
,
22
,
19
,
15
,
12
,
16
,
14
,
17
],
name =
’Primary Product’
,
marker=dict(
color =
’rgb(49,130,189)’
)
)
trace1 = go.Bar(
x = [
’Jan’
,
’Feb’
,
’Mar’
,
’Apr’
,
’May’
,
’Jun’
,
’Jul’
,
’Aug’
,
’Sep’
,
’Oct’
,
’Nov’
,
’Dec’
],
y = [
19
,
14
,
22
,
14
,
16
,
19
,
15
,
14
,
10
,
12
,
12
,
16
],
name =
’Secondary Product’
,
marker=dict(
color =
’rgb(204,204,204)’
)
)
data
= [trace0,trace1]
py.iplot(
data
)
直方圖是我們比較常用的一種圖形,Plotly繪制直方圖的方式跟我們?cè)赑andas里面設(shè)置的有點(diǎn)類(lèi)似,它們非常直觀的體現(xiàn)了不同月份兩個(gè)生產(chǎn)力之間的差異。
上面的制圖只是Plotly的冰山一角,都是一些最基本的用法,它還有很多很酷的用法和圖形,尤其是跟Pandas結(jié)合畫(huà)的圖非常漂亮。
比如一些股票的K線圖,大家有興趣可以研究研究~
程序員技術(shù)交流群
掃碼進(jìn)群記得備注: 城市、昵稱(chēng)和技術(shù)方向 。
閱讀更多
-
用ChatGPT生成Excel公式,太方便了 -
【Pycharm教程】PyCharm 在Django 模板中的命名 URL 標(biāo)簽 -
ChatGPT 連夜迭代:你老婆不好使了
-
2023年各省最新電價(jià)一覽!8省中午執(zhí)行谷段電價(jià)! 2023-01-03
-
PPT導(dǎo)出高分辨率圖片的四種方法 2022-09-22
-
全國(guó)消防救援總隊(duì)主官及簡(jiǎn)歷(2023.2) 2023-02-10
-
我們的前輩!歷屆全國(guó)工程勘察設(shè)計(jì)大師完整名單! 2022-11-18
-
關(guān)于某送變電公司“4·22”人身死亡事故的快報(bào) 2022-04-26
