Plotly的動態可視化繪圖


 

介紹

plotly plotly是一個可交互,基於瀏覽器的繪圖庫,主打功能是繪制在線可交互的圖表,所繪制出來的圖表真的賞心悅目。
它所支持的語言不只是Python,還支持諸如r,matlab,javescript等語言。plotly繪制的圖能直接在jupyter中查看,也能保存為離線網頁,或者保存在plot.ly雲端服務器內,以便在線查看。

官網

https://plotly.com/

開發文檔

https://plotly.com/python/

plotly安裝:

pip install plotly

plotly 兩種方式繪制圖表:
Plotly是集成了在線通過菜單操作繪圖與離線通過代碼繪圖多種繪圖方式的繪圖系統。如果使用在線方式,在使用plotly的時候,需要在官網注冊一個個人賬號,設置個人密碼。

在線:將你的可視化圖像保存到網站上,便於共享和保存。
離線:直接在本地生成可視化圖像,便於使用。


plotly繪圖支持繪圖種類

  • 基本圖表:20種
  • 統計和海運方式圖:12種
  • 科學圖表:21種
  • 財務圖表:2種
  • 地圖:8種
  • 3D圖表:19種
  • 報告生成:4種
  • 連接數據庫:7種
  • 擬合工具:3種
  • 流動圖表:4種
  • JavaScript添加自定義控件:13種

 

使用plotly

在線繪圖:web端可視化
首先注冊一個plotly賬號,在用戶頭像–setting–API Keys下生成API key

import plotly.plotly as py
import plotly.graph_objs as go
plotly.tools.set_credentials_file(username='your_name', api_key='your_keys')

trace0 = go.Scatter(
    x=[1, 2, 3, 4],
    y=[10, 15, 13, 17]
)
trace1 = go.Scatter(
    x=[1, 2, 3, 4],
    y=[16, 5, 11, 9]
)
data = [trace0, trace1]

py.plot(data, filename = 'basic-line', auto_open=True)

離線繪圖
網頁輸出式繪圖:plotly提供了每個繪圖函數的離線版本,生成html文件。

import plotly
import plotly.graph_objs as go

plotly.offline.plot({
    "data": [go.Scatter(x=[1, 2, 3, 4], y=[4, 3, 2, 1])],
    "layout": go.Layout(title="hello world")
}, auto_open=True)

輸出靜態圖片

plotly.py 支持靜態圖片輸出。plotly.io.to_image能將plotly 圖表轉為靜態圖

import plotly.graph_objs as go
import plotly.io as pio

trace1 = [go.Scatter(x=[1,2,3], y=[4,5,6], marker={'color': 'red', 'symbol': 104, 'size': 10}, 
                    mode="markers+lines",  text=["one","two","three"], name='1st Trace')]
                                               
layout=go.Layout(title="First Plot", xaxis={'title':'x1'}, yaxis={'title':'x2'})
figure=go.Figure(data=trace1,layout=layout)

static_image_bytes = pio.to_image(figure, format='png')

from IPython.display import Image
Image(static_image_bytes)

如果要保存靜態圖片,plotly.io.write_image能將圖片轉為包括png,jpg,pdf,svg,eps在內的多種格式。

更多參考:

基本圖表繪制

5種可視化效果,以升級您的數據故事


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM