Python 可视化神器Plotly详解

时间:2021-05-23

文 |潮汐

来源:Python 技术「ID: pythonall」

学习Python是做数分析的最基础的一步,数据分析离不开数据可视化。Python第三方库中我们最常用的可视化库是 pandas,matplotlib,pyecharts, 当然还有 Tableau,另外最近在学习过程中发现另一款可视化神器-Plotly,它是一款用来做数据分析和可视化的在线平台,功能非常强大, 可以在线绘制很多图形比如条形图、散点图、饼图、直方图等等。除此之外,它还支持在线编辑,以及多种语言 python、javascript、matlab、R等许多API。它在python中使用也非常简单,直接用pip install plotly 安装好即可使用。本文将结合 plotly 库在 jupyter notebook 中来进行图形绘制。

使用 Plotly 可以画出很多媲美Tableau的高质量图,如下图所示:

折线点图

折现点图画图步骤如下:首先在 Pycharm 界面输入 jupyter notebook后进入网页编辑界面,新建一个文件,导入相应的包即可进行图形绘制:

# import pkgfrom plotly.graph_objs import Scatter,Layoutimport plotlyimport plotly.offline as pyimport numpy as npimport plotly.graph_objs as go#设置编辑模式plotly.offline.init_notebook_mode(connected=True)#制作折线图N = 150random_x = np.linspace(0,1,N)random_y0 = np.random.randn(N)+7random_y1 = np.random.randn(N)random_y2 = np.random.randn(N)-7 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)

显示结果如下:

直方图

# 直方图trace0 = go.Bar( x = ['Jan','Feb','Mar','Apr', 'May','Jun', 'Jul','Aug','Sep','Oct','Nov','Dec'], y = [20,15,25,16,18,28,19,67,12,56,14,27], 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 = [29,14,32,14,16,19,25,14,10,12,82,16], name = 'Secondary Product', marker=dict( color = 'rgb(204,204,204)' ))data = [trace0,trace1]py.iplot(data)

显示结果如下:

散点图

# 散点图trace1 = go.Scatter( y = np.random.randn(700), mode = 'markers', marker = dict( size = 16, color = np.random.randn(800), colorscale = 'Viridis', showscale = True ))data = [trace1]py.iplot(data)

显示结果如下:

总结

今天的文章主要学习可视化神器-plotpy 的相关操作,希望在平时的工作中有所应用。更多的内容详见 https://plotly.com/python/

到此这篇关于Python 可视化神器Plotly详解的文章就介绍到这了,更多相关Python 可视化神器Plotly内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章