Python使用Plotly繪圖工具,繪制氣泡圖


今天來講講如何使用Python 繪圖工具,Plotly來繪制氣泡圖。

氣泡圖的實現方法類似散點圖的實現。修改散點圖中點的大小,就變成氣泡圖。

實現代碼如下:

import plotly as py
import plotly.graph_objs as go

pyplt = py.offline.plot

trace0 = go.Scatter(
    x=[1, 2, 3, 4, 5, 6, 7],
    y=[8, 10, 12, 14, 16, 18, 20],
    mode='markers',
    marker=dict(
        size=[10, 14, 16, 18, 20, 42, 64], #設置氣泡大小

    )
)

data = [trace0]
pyplt(data, filename='tmp/1.html')

會得到如下圖所示的氣泡圖:

下面這個例子講解如何設置氣泡點的大小,顏色,還有提示文字,是否顯示顏色條等信息

代碼如下:

import plotly as py
import plotly.graph_objs as go

pyplt = py.offline.plot

trace0 = go.Scatter(
    x=[1, 2, 3, 4],
    y=[10, 11, 12, 13],
    mode='markers',
    text=['第1個氣泡<br>size: 40<br>這里可以填寫內容', '第2個氣泡<br>size: 60', '第3個氣泡<br>size: 80', '第4個氣泡<br>size: 100'],
    marker=dict(
        color= [120, 125, 130, 135],
        opacity=[1, 0.8, 0.6, 0.4],
        size=[40, 60, 80, 100],
        showscale= True,
    )
)

data = [trace0]
pyplt(data, filename='tmp/1.html')

運行程序,得到如下圖所示:

說明一下。

text可以指定每一個點,對應的懸浮窗文字信息(<br>表示換行)

color指定每個點的顏色,opacity指定點的透明度大小。

size 指定每個點的大小

showscale = True 表示顯示右邊的顏色條。

接下來講解如何將氣泡圖進行縮放

調節大小通過設置參數sizeref進行設置的,當這個參數大於1時,將會減小氣泡的大小。

當這個參數小於1時,將增大氣泡的大小。

import plotly as py
import plotly.graph_objs as go
pyplt = py.offline.plot
trace0 = go.Scatter(
    x=[1, 2, 3, 4],
    y=[10, 11, 12, 13],
    text=['A</br>size: 40</br>default', 'B</br>size: 60</br>default', 'C</br>size: 80</br>default', 'D</br>size: 100</br>default'],
    mode='markers',
    name='default',
    marker=dict(
        size=[400, 600, 800, 1000],
        sizemode='area',
    )
)
trace1 = go.Scatter(
    x=[1, 2, 3, 4],
    y=[14, 15, 16, 17],
    text=['A</br>size: 40</br>sizeref: 0.2', 'B</br>size: 60</br>sizeref: 0.2', 'C</br>size: 80</br>sizeref: 0.2', 'D</br>size: 100</br>sizeref: 0.2'],
    mode='markers',
    name = 'ref0.2',
    marker=dict(
        size=[400, 600, 800, 1000],
        sizeref=0.2,
        sizemode='area',
    )
)
trace2 = go.Scatter(
    x=[1, 2, 3, 4],
    y=[20, 21, 22, 23],
    text=['A</br>size: 40</br>sizeref: 2', 'B</br>size: 60</br>sizeref: 2', 'C</br>size: 80</br>sizeref: 2', 'D</br>size: 100</br>sizeref: 2'],
    mode='markers',
    name='ref2',
    marker=dict(
        size=[400, 600, 800, 1000],
        sizeref=2,
        sizemode='area',
    )
)

data = [trace0, trace1, trace2]
pyplt(data, filename='tmp/1.html')

得到如下圖所示:

 

 參數sizeref=2 將氣泡的大小設置為原來的1/2

參數sizemodes有兩個值1.diameter和area這兩個值。

1值按照直徑縮放,2值按照表示面積進行縮放。

 


免責聲明!

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



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