zoukankan      html  css  js  c++  java
  • 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值按照表示面积进行缩放。

  • 相关阅读:
    Java1.4从BIO模型发展到NIO模型
    Java Socket TCP 套接字超时
    浅谈 Java Socket 构造函数参数 backlog
    Java Socket 的BIO模型(以TCP为例)
    TCP三次握手和四次挥手与Java Socket
    TCP报文格式
    Windows安装Wireshark实现127.0.0.1抓包
    NIO入门之多路复用选择器Selector
    晚安西南-----拆装死绳传感器
    晚安西南-----螺扶与拖压
  • 原文地址:https://www.cnblogs.com/ws17345067708/p/10578735.html
Copyright © 2011-2022 走看看