当前位置: 首页 > 后端技术 > Python

最强Python可视化神器,推荐一试!

时间:2023-03-26 17:06:22 Python

数据分析离不开数据可视化。最常用的是pandas、matplotlib、pyecharts,当然还有Tableau。看了一篇介绍plotlycharting的文章,就迫不及待的想试试了。查了相关资料,开始尝试用它来做图表。1.PlotlyPlotly是一个在线数据分析和可视化平台。功能非常强大,可以在线绘制柱状图、散点图、饼图、柱状图等多种图形,并且还支持在线编辑,支持多种语言的python、javascript、matlab、R等多种API.在python中使用也很简单,直接使用pipinstallplotly即可。推荐在jupyternotebook中使用,pycharm操作不是很方便。使用Plotly,可以画出很多媲美Tableau的高质量图表:我试过在plotly中制作折线图、散点图、直方图。首先导入库:fromplotly.graph_objsimportScatter,Layoutimportplotlyimportplotly.offlineaspyimportnumpyasnpimportplotly.graph_objsasgo#settingoffilne离线模式plotly.offline.init_notebook_mode(connected=True)以上几行代码主要参考到一些图书馆。Plotly有两种模式:在线和离线。在线模式需要一个帐户才能在云端进行编辑。我选择的离线模式,plotly如果设置为离线模式可以直接在notebook中显示。2.制作折线图N=100random_x=np.linspace(0,1,N)random_y0=np.random.randn(N)+5random_y1=np.random.randn(N)random_y2=np.random.randn(N)-5#Createtracestrace0=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是标记,trace1是线和标记,trace3是线。然后将三张图放入数据列表中,调用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中设置一组参数,比如Randomrangeofcolors,sizeofscatter点、图例等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='初级产品',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='二级Product',marker=dict(color='rgb(204,204,204)'))data=[trace0,trace1]py.iplot(data)直方图是我们常用的一种图形,plotly画直方图的方式和我们类似的pandas中的设置有些类似,也很直观的反映了两者在不同月份的生产力差异。上图只是plotly的冰山一角,都是一些最基本的用法。它还有很多很酷的用法和图形,尤其是结合pandas画出来的图非常漂亮。比如一些股票的K线图,有兴趣的可以研究一下~链接在这里:https://plot.ly/python/