python中的——可視化神器--Plotly!

數據分析離不開數據可視化。我們最常用的就是pandas,matplotlib,pyecharts當然還有Tableau,看到一篇文章介紹plotly製圖後我也躍躍欲試,查看了相關資料開始嘗試用它製圖

Plotly 是一款用來做數據分析和可視化的在線平臺,功能非常強大,可以在線繪製很多圖形比如條形圖、散點圖、餅圖、直方圖等等。而且還是支持在線編輯,以及多種語言python、javascript、matlab、R等許多API。它在python中使用也很簡單,直接用pip install plotly就可以了。推薦最好在jupyter notebook中使用,pycharm操作不是很方便。使用Plotly可以畫出很多媲美Tableau的高質量圖:

python中的——可視化神器--Plotly!

plotly製圖.png

我嘗試做了折線圖、散點圖和直方圖,代碼如下:

首先導入庫

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)

上面幾行代碼主要是引用一些庫,plotly有在線和離線兩種模式,在線模式需要有賬號可以雲編輯。我選用的離線模式,plotly設置為offline模式就可以直接在notebook裡面顯示了。

1.製作折線圖

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)

python中的——可視化神器--Plotly!

折線圖.png

隨機設置4個參數,一個x軸的數字和三個y軸的隨機數據,製作出三種不同類型的圖。trace0是markers,trace1是lines和markers,trace3是lines。然後把三種圖放在data這個列表裡面,調用py.iplot(data)即可。

繪製的圖片系統默認配色也挺好看的~

2.製作散點圖

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設置為markers就是散點圖,然後marker裡面設置一組參數,比如顏色的隨機範圍,散點的大小,還有圖例等等。

python中的——可視化神器--Plotly!

散點圖.png

3.直方圖

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)

python中的——可視化神器--Plotly!

直方圖.png

直方圖是我們比較常用的一種圖形,plotly繪製直方圖的方式跟我們在pandas裡面設置的有點類似,他們非常直觀的體現了不同月份兩個生產力之間的差異。

上面的製圖只是plotly的冰山一角,都是一些最基本的用法,它還有很多很酷的用法和圖形,尤其是跟pandas結合畫的圖非常漂亮。比如一些股票的K線圖,大家有興趣可以研究研究~

需要pythonPDF電子書的小夥伴請關注、轉發、私信我"學習"就能免費獲取電子書。

相關推薦

推薦中...