zoukankan      html  css  js  c++  java
  • 可视化神器--Plotly

    数据分析离不开数据可视化。我们最常用的就是pandas,matplotlib,pyecharts当然还有Tableau,看到一篇文章介绍plotly制图后我也跃跃欲试,查看了相关资料开始学习plotly.

    Plotly 是一款用来做数据分析和可视化的在线平台,功能非常强大,可以在线绘制很多图形比如条形图、散点图、饼图、直方图等等。而且还是支持在线编辑,以及多种语言python、javascript、matlab、R等许多API,当然我们这里主要介绍Python语言,可以直接用pip install plotly即可。

    plotly可以画出很多媲美Tableau的高质量图,我尝试做了折线图、散点图和直方图,代码如下:

    首先导入库

    from plotly.graph_objs import Scatter,Layout
    import plotly
    import plotly.offline as py
    import numpy as np
    import plotly.graph_objs as go
    
    #setting offilne
    plotly.offline.init_notebook_mode(connected=True)
    # 上面几行代码主要是引用一些库,最重要的一点是要把plotly设置为offline模式,

    1.折线图

    N = 100
    random_x = np.linspace(0,1,N)
    random_y0 = np.random.randn(N)+5
    random_y1 = np.random.randn(N)
    random_y2 = np.random.randn(N)-5
    
    #Create traces
    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,trace2]
    py.iplot(data)
    # 随机设置4个参数,x轴的数字和y轴,其中y轴随机3组数据。
    # 然后画三种类型的图,trace0是markers,trace1是折线图和markers,trace3是折线图。
    # 然后把三种图放在data这个列表里面,调用py.iplot(data)即可。

    2.散点图

    trace1 = go.Scatter(
         y = np.random.randn(500),
        mode = 'markers',
        marker = dict(
            size = 16,
            color = np.random.randn(500),
            colorscale = 'Viridis',
            showscale = True
        )
    )
    data = [trace1]
    py.iplot(data,filename='scatter-plot-with-colorscale')
    # 这个是mode设置为markers就是散点图,然后marker里面设置一组参数,
    # 比如颜色的随机范围,散点的大小,还有图例等等。最后一行里面的filename是在当前目录下生成html文件

    3.直方图

    trace0 = go.Bar(
        x = ['Jan','Feb','Mar','Apr', 'May','Jun',
             'Jul','Aug','Sep','Oct','Nov','Dec'],
        y = [20,14,25,16,18,22,19,15,12,16,14,17],
        name = 'Primary Product',
        marker=dict(
            color = 'rgb(49,130,189)'
        )
    )
    trace1 = go.Bar(
        x = ['Jan','Feb','Mar','Apr', 'May','Jun',
             'Jul','Aug','Sep','Oct','Nov','Dec'],
        y = [19,14,22,14,16,19,15,14,10,12,12,16],
        name = 'Secondary Product',
        marker=dict(
            color = 'rgb(204,204,204)'
        )
    )
    data = [trace0,trace1]
    py.iplot(data)

     上面的制图只是plotly的冰山一角,都是一些最基本的用法,它还有很多很酷的用法和图形,尤其是跟pandas结合画的图非常漂亮,比如一些股票的K线图,大家有兴趣可以研究研究~

    链接:https://plot.ly/python/

  • 相关阅读:
    mysqlEasyHelper(待完善)
    入门day2
    入门day1
    c# 多态的理解
    c# 简单任务控制
    c# 陌生的关键字
    从0来搭建超灵活的MVP商用框架<三>-------网络层加入RxJava、事件总线封装、Dagger2集成
    从0来搭建超灵活的MVP商用框架<二>-------APP基础配置、Okhttp+Retrofit封装
    从0来搭建超灵活的MVP商用框架<一>-------从MVC至MVP的转变、通用网络切换框架
    IOC注入框架设计<三>-------Android Studio插件开发来自动生成ButterKnife相关代码
  • 原文地址:https://www.cnblogs.com/Estate-47/p/10212737.html
Copyright © 2011-2022 走看看