飞道的博客

可能是最强的Python可视化神器,建议一试!

401人阅读  评论(0)

数据分析离不开数据可视化,我们最常用的就是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结合画的图非常漂亮。

最后

在学习python中有任何困难不懂的可以微信扫描下方CSDN官方认证二维码加入python交流学习多多交流问题,互帮互助,这里有不错的学习教程和开发工具。
(python兼职资源+python全套学习资料)

👉Python学习路线汇总👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)

👉Python必备开发工具👈

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

👉100道Python练习题👈

检查学习结果。

👉面试刷题👈



资料领取

上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码输入“领取资料” 即可领取


转载:https://blog.csdn.net/Python84310366/article/details/128982179
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场