乐趣区

关于python:最强的Python可视化神器建议一试

数据分析离不开数据可视化,咱们最罕用的就是 pandas,matplotlib,pyecharts 当然还有 Tableau,看到一篇文章介绍 plotly 制图后我也蠢蠢欲动,查看了相干材料开始尝试用它制图。

1. Plotly

Plotly 是一款用来做数据分析和可视化的在线平台,性能十分弱小, 能够在线绘制很多图形比方条形图、散点图、饼图、直方图等等。而且还是反对在线编辑,以及多种语言 python、javascript、matlab、R 等许多 API。它在 python 中应用也很简略,间接用 pip install plotly 就能够了。举荐最好在 jupyter notebook 中应用,pycharm 操作不是很不便。应用 Plotly 能够画出很多媲美 Tableau 的高质量图:

plotly 制图我尝试做了折线图、散点图和直方图,首先导入库:

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 有在线和离线两种模式,在线模式须要有账号能够云编辑。我选用的离线模式,plotly 设置为 offline 模式就能够间接在 notebook 外面显示了。

2. 制作折线图

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 轴的随机数据,制作出三种不同类型的图。trace0 是 markers,trace1 是 lines 和 markers,trace3 是 lines。而后把三种图放在 data 这个列表外面,调用 py.iplot(data) 即可。
绘制的图片零碎默认配色也挺难看的~

3. 制作散点图

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)

把 mode 设置为 markers 就是散点图,而后 marker 外面设置一组参数,比方色彩的随机范畴,散点的大小,还有图例等等。

4. 直方图

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 外面设置的有点相似,他们十分直观的体现了不同月份两个生产力之间的差别。下面的制图只是 plotly 的冰山一角,都是一些最根本的用法,它还有很多很酷的用法和图形,尤其是跟 pandas 联合画的图十分丑陋。比方一些股票的 K 线图,大家有趣味能够钻研钻研~ 链接在此:https://plot.ly/python/


原文链接:https://www.jianshu.com/p/e5f…

文末

您的点赞珍藏就是对我最大的激励!
欢送关注我,分享 Python 干货,交换 Python 技术。
对文章有何见解,或者有何技术问题,欢送在评论区一起留言探讨!

退出移动版