zoukankan      html  css  js  c++  java
  • [python工具] 如何使用plotly制作散列图

    注意

    • 最好使用python3, 我在mac上,默认2.7,安装起来相当费劲,使用python3 + pip3 + virtualenv 比较合适

    安装

    pip install plotly
    

    测试

    ➜  plotly_test git:(master) ✗ pwd
    /Users/muahao/work/vpc/muahao_tools/plotly_test
    ➜  plotly_test git:(master) ✗ cat first.py
    from plotly.graph_objs import *
    import plotly.offline
    trace0 = Scatter(
        x=[1,2,3,4,],
        y=[10,15,13,17]
    )
    trace1 = Scatter(
        x= [1,2,3,4],
        y= [16,5,11,9]
    )
    plotly.offline.plot([trace0,trace1])
    

    测试2:

    ➜  plotly_test git:(master) ✗ cat ping2_lentency200.log | head
    1582613630 3.03 ms
    1582613631 1.87 ms
    1582613633 0.436 ms
    1582613634 1.85 ms
    1582613635 0.412 ms
    1582613636 1.69 ms
    1582613637 1.98 ms
    1582613638 1.03 ms
    1582613639 3.62 ms
    1582613640 8.56 ms
    
    
    import sys
    import subprocess
    from plotly.graph_objs import *
    import plotly.offline
    
    # FILE = "ping2_lentency100.log.2001"
    # TITLE = "OpenVPN txqueuelen=100"
    
    
    FILE = "ping2_lentency200.log"
    TITLE = "OpenVPN txqueuelen=200"
    
    
    def get_x_y_data():
        x_list = list()
        y_list = list()
        cmd = "cat {}".format(FILE)
        code, out = subprocess.getstatusoutput(cmd)
        for line in out.split('
    '):
            if not line:
                continue
            line_split = line.split(' ')
            if len(line_split) < 2:
                continue
            x = line.split(' ')[0]
            y = line.split(' ')[1]
            x_list.append(x)
            y_list.append(y)
        return x_list, y_list
    
    
    if __name__ == "__main__":
        x_list, y_list = get_x_y_data()
    
        trace0 = Scatter(
            x=x_list,
            y=y_list,
            mode='markers'
        )
        data_comp = [trace0]
        # plotly.offline.plot([trace0])
    
        layout_comp = Layout(
            title=TITLE,
            hovermode='closest',
            xaxis=dict(
                title='timestamp',
                ticklen=5,
                zeroline=False,
                gridwidth=2,
            ),
            yaxis=dict(
                title='Latency (ms)',
                ticklen=5,
                gridwidth=2,
            ),
        )
        fig_comp = Figure(data=data_comp, layout=layout_comp)
        plotly.offline.plot(fig_comp, filename=TITLE)
    
    

  • 相关阅读:
    【c++】重载操作符
    关于Repository模式
    UML建模系列文章总结
    windows批量创建用户
    数据库数据导入导出系列之五 C#实现动态生成Word(转)
    C#.bat文件清理工程目录
    ASP.NET用HttpListener实现文件断点续传
    LINQ to JavaScript
    依赖注入框架Autofac的简单使用
    spring boot日期转换
  • 原文地址:https://www.cnblogs.com/muahao/p/12362122.html
Copyright © 2011-2022 走看看