python——plotly多图

多图表

一y轴,两图

data=pd.read_csv(r'my_csv_date.csv',encoding='gbk')
pyplot=py.offline.iplot

data1=data.groupby(by='地区')
data2=data1.agg(np.sum)

mean_value=data2.收入.mean()
y=np.tile(mean_value,4)#复制4次数据

trace1=go.Bar(x=data2.index.tolist(),y=data2.收入.tolist(),
              textfont=dict(size=12,color=['white','blue','red','green']),
             opacity=0.5,name='地区收入')
trace2=go.Scatter(x=data2.index.tolist(),y=y,mode='lines',name='平均值')

layout=go.Layout(title='不同地区的收入',xaxis=dict(title='地区'))
trace=[trace1,trace2]

fig=go.Figure(data=trace,layout=layout)

pyplot(fig)

在这里插入图片描述

两y轴两图

由于数据是自己设计的使用了列之间数据的比例乘法,因此走向相同,散点图和折线图重合了

data=pd.read_csv(r'my_csv_date.csv',encoding='gbk')
pyplot=py.offline.iplot
#数据的整理分组并求和聚合
data1=data.groupby(by='地区')
data2=data1.agg(np.sum)

mean_value=data2.收入.mean()
y=np.tile(mean_value,4)#复制4次数据

trace1=go.Scatter(x=data2.index.tolist(),y=data2.收入.tolist(),
                  mode='markers',name='收入',marker=dict(color='gray'))
trace2=go.Scatter(x=data2.index.tolist(),y=data2.总收入.tolist(),mode='lines',name='总收入',
                  yaxis='y2')


layout=go.Layout(title='收入和总收入关系',xaxis=dict(title='地区'),
                 yaxis=dict(title='收入'),yaxis2=dict(title='总收入',overlaying='y',side='right'))
trace=[trace1,trace2]

fig=go.Figure(data=trace,layout=layout)

pyplot(fig)

在这里插入图片描述

格子分割图

data=pd.read_csv(r'my_csv_date.csv',encoding='gbk')
pyplot=py.offline.iplot

data1=data.groupby(by='地区')
data2=data1.agg(np.sum)

mean_value=data2.收入.mean()
y=np.tile(mean_value,4)#复制4次数据

fig=tools.make_subplots(rows=1,cols=2)#设置图形防止位置格式
trace1=go.Scatter(x=data2.index.tolist(),y=data2.收入.tolist(),
                  mode='lines',name='收入',line=dict(color='gray'))
trace2=go.Scatter(x=data2.index.tolist(),y=data2.总收入.tolist(),mode='lines',name='总收入' )
#添加图片的栅格分布
fig.append_trace(trace1,1,1)
fig.append_trace(trace2,1,2)
#更新图形布局
fig['layout'].update(height=300,width=600,title='不同地区收入')

pyplot(fig)

数据和上例一样
在这里插入图片描述

发布了70 篇原创文章 · 获赞 1 · 访问量 2403

猜你喜欢

转载自blog.csdn.net/weixin_43794311/article/details/105349727