发布网友 发布时间:2024-10-07 01:19
共1个回答
热心网友 时间:2024-10-07 04:56
数据分析离不开数据可视化,我们最常用的就是pandas,matplotlib,pyecharts当然还有Tableau,看到一篇文章介绍plotly制图后我也跃跃欲试,查看了相关资料开始尝试用它制图。
1. PlotlyPlotly 是一款用来做数据分析和可视化的在线平台,功能非常强大,可以在线绘制很多图形比如条形图、散点图、饼图、直方图等等。而且还是支持在线编辑,以及多种语言python、javascript、matlab、R等许多API。它在python中使用也很简单,直接用pip install plotly就可以了。推荐最好在jupyter notebook中使用,pycharm操作不是很方便。使用Plotly可以画出很多媲美Tableau的高质量图:
plotly制图
我尝试做了折线图、散点图和直方图,首先导入库:
fromplotly.graph_objsimportScatter,Layoutimportplotlyimportplotly.offlineaspyimportnumpyasnpimportplotly.graph_objsasgo#settingoffilne离线模式plotly.offline.init_notebook_mode(connected=True)上面几行代码主要是引用一些库,plotly有在线和离线两种模式,在线模式需要有账号可以云编辑。我选用的离线模式,plotly设置为offline模式就可以直接在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是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='PrimaryProduct',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='SecondaryProduct',marker=dict(color='rgb(204,204,204)'))data=[trace0,trace1]py.iplot(data)直方图是我们比较常用的一种图形,plotly绘制直方图的方式跟我们在pandas里面设置的有点类似,他们非常直观的体现了不同月份两个生产力之间的差异。
上面的制图只是plotly的冰山一角,都是一些最基本的用法,它还有很多很酷的用法和图形,尤其是跟pandas结合画的图非常漂亮。比如一些股票的K线图,大家有兴趣可以研究研究~