再见matplotlib,可视化神器 Plotly 绘制图表的太酷炫了

Posted Python学习与数据挖掘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了再见matplotlib,可视化神器 Plotly 绘制图表的太酷炫了相关的知识,希望对你有一定的参考价值。

数据分析离不开数据可视化。我们最常用的就是pandas,matplotlib,pyecharts 当然还有 Tableau,最近看到一篇文章介绍 plotly 制图后,我感觉写的不够简洁明了。

今天就给大家分享利用可视化神器 Plotly 绘制酷炫图表,欢迎收藏学习,喜欢点赞支持,文末有技术交流群。

Plotly 简介

Plotly 是一款用来做数据分析和可视化的 Python 工具包,功能非常强大,可以绘制很多图形比如条形图、散点图、饼图、直方图等等。而且还是支持在线编辑。

它在 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里面显示了。

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轴的随机数据,制作出三种不同类型的图。trace0是markers,trace1是lines和markers,trace3是lines。然后把三种图放在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)

把mode设置为markers就是散点图,然后marker里面设置一组参数,比如颜色的随机范围,散点的大小,还有图例等等。

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里面设置的有点类似,他们非常直观的体现了不同月份两个生产力之间的差异。

总结

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

官方链接:https://plotly.com/python/


技术交流

欢迎转载、收藏、有所收获点赞支持一下!

目前开通了技术交流群,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友

  • 方式①、发送如下图片至微信,长按识别,后台回复:加群;
  • 方式②、添加微信号:dkl88191,备注:来自CSDN
  • 方式③、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

以上是关于再见matplotlib,可视化神器 Plotly 绘制图表的太酷炫了的主要内容,如果未能解决你的问题,请参考以下文章

一学就会,20000字深度讲解 Python 数据可视化神器 Plotly

再见,可视化!你好,Pandas!

可视化神器Plotly玩转箱形图

可视化神器Plotly绘制树状图

可视化神器Plotly玩转甘特图

可视化神器Plotly玩转多子图绘制