Python使用Plotly繪圖工具,繪制散點圖、線形圖


今天在研究Plotly繪制散點圖的方法

使用Python3.6 + Plotly

Plotly版本2.0.0

在開始之前先說說,還需要安裝庫Numpy,安裝方法在我的另一篇博客中有寫到:https://www.cnblogs.com/ws17345067708/p/10531531.html

因為Plotly沒有自己獨立的線性圖形函數,所以把線性圖形與散點圖形全部用一個函數實現

這個函數是Scatter函數

下面舉幾個簡單的例子

先畫一個純散點圖,代碼如下:

import plotly
import plotly.graph_objs as go
import numpy

pyplt = plotly.offline.plot #使用離線模式
N = 100
random_x = numpy.linspace(0, 1, N)
random_y0 = numpy.random.randn(N)+5
random_y1 = numpy.random.randn(N)
random_y2 = numpy.random.randn(N)-5
#上面是一些隨機數據
trace0 = go.Scatter(
    x = random_x,
    y = random_y0,
    mode = 'markers', # 繪制純散點圖
    name = 'markers' # 圖例名稱
)
data = [trace0]
pyplt(data, filename='tmp/scatter_diagram.html')#html放置的位置

運行程序會得到如下圖所示圖形

接下來我們畫一個線性圖,數據還是之前的數據。看看是什么樣子,代碼如下

import plotly
import plotly.graph_objs as go
import numpy


pyplt = plotly.offline.plot #使用離線模式
N = 100
random_x = numpy.linspace(0, 1, N)
random_y0 = numpy.random.randn(N)+5
random_y1 = numpy.random.randn(N)
random_y2 = numpy.random.randn(N)-5
trace1 = go.Scatter(
    x = random_x,
    y = random_y2,
    mode = 'lines', # 線性圖
    name = 'lines'
)
data = [trace1]
pyplt(data, filename='tmp/line.html')

我們會得到如下圖所示的線形圖

下面我們把線性圖,和散點圖合到一起

import plotly
import plotly.graph_objs as go
import numpy
pyplt = plotly.offline.plot #使用離線模式
N = 100
random_x = numpy.linspace(0, 1, N)
random_y0 = numpy.random.randn(N)+5
random_y1 = numpy.random.randn(N)
random_y2 = numpy.random.randn(N)-5
trace1 = go.Scatter(
    x = random_x,
    y = random_y1,
    mode = 'lines+markers', # 散點+線的繪圖
    name = 'lines+markers'
)
data = [trace1]
pyplt(data, filename='tmp/add.html')

得到如下圖所示圖例

三個圖在一張圖中表示的例子

import plotly
import plotly.graph_objs as go
import numpy
pyplt = plotly.offline.plot #使用離線模式
N = 100
random_x = numpy.linspace(0, 1, N)
random_y0 = numpy.random.randn(N)+5
random_y1 = numpy.random.randn(N)
random_y2 = numpy.random.randn(N)-5
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,tarace2]
pyplt(data, filename='tmp/all.html')

得到如下圖

可以看到,三個圖,繪制在一張圖上了!

也可以對樣式進行設置下面看個例子,改變一下顏色,代碼如下:

import plotly
import plotly.graph_objs as go
import numpy
pyplt = plotly.offline.plot #使用離線模式
N = 100
random_x = numpy.linspace(0, 1, N)
random_y0 = numpy.random.randn(N)+5
random_y1 = numpy.random.randn(N)
random_y2 = numpy.random.randn(N)-5
trace0 = go.Scatter(
    x = random_x,
    y = random_y0,
    mode = 'markers', # 純散點圖
    name = 'markers', # 曲線名稱
    marker = dict(
        size = 10, # 設置點的寬度
        color = 'rgba(255, 182, 193, .9)', #設置曲線的顏色
        line = dict(
            width = 2, # 設置線條的寬度
            color = 'rgb(0, 255, 0)' #設置線條的顏色
        )
    )
)
data = [trace0]
pyplt(data, filename='tmp/style.html')

 

 

marker的參數設置很重要,設置顏色color,大小size

line設置線條寬度width,color 設置線條顏色等

 


免責聲明!

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



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