• 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 设置线条颜色等

  • 相关阅读:
    ResNet——Deep Residual Learning for Image Recognition
    Inception——Going deeper with convolutions
    VGG——Very deep convolutional networks for large-scale image recognition
    ReLU——Deep Sparse Rectifier Neural Networks
    Oracle、SqlServer——基础知识——oracle 与 SqlServer 的区别(未完工)
    Oracle——判断对象是否存在(未完工)
    javascript——屏蔽右键快捷菜单
    SqlServer——判断对象是否存在
    javascript——事件处理模型(DOM 和 IE)
    ASP.NET——配置文件——连接字符串
  • 原文地址:https://www.cnblogs.com/ws17345067708/p/10532558.html
Copyright © 2020-2023  润新知