1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python绘制坐标图_Python绘制主次坐标图

python绘制坐标图_Python绘制主次坐标图

时间:2024-01-23 14:00:38

相关推荐

python绘制坐标图_Python绘制主次坐标图

摘要这一篇文章来讲一下主次坐标的绘制。也是最近在一次绘图中用到了,在这里记录一下方便之后自己的查找。顺便在这里说一下最近自己在做什么吧,也是好久没有更新了。

文章目录(Table of Contents)

前言-说明

这一篇说一下绘制主次坐标的方式。这种图可以适用于当你有两组数组,两组数据的数量级相差较大(如果用同一个y轴进行绘制,数据较小的会看不出趋势),但是想要比较两组数据的趋势。这种时候使用主次坐标图是一个很好的选择。

主次坐标图绘制

在这里我就直接贴出代码,注释已经写好了,很容易能看懂。

importnumpyasnp

importpandasaspd

frommatplotlibimportpyplotasplt

frommatplotlib.linesimportLine2D

importseabornassns

%matplotlibinline

#----------

#生成样例数据

#----------

x=np.linspace(0,10,15)

y_data1=np.random.rand(15)

y_data2=5*y_data1+5*np.random.rand(15)

#-------

#进行绘图

#-------

sns.set()

#画出双坐标轴图像

fig,ax1=plt.subplots(figsize=(9,5),dpi=100)

ax2=ax1.twinx()

#这里获取图为了后面添加图例

l1,=ax1.plot(x,y_data1,'darkorange')

l2,=ax2.plot(x,y_data2,'royalblue')

#设置x,y轴文字说明

ax1.set_xlabel('date')

ax1.set_ylabel('Y1,drunken_conflict_rate')

ax2.set_ylabel('Y2,drunken_conflict_hurt_rate')

#设置图例

plt.legend(handles=[l1,l2,],labels=['data_1','data_2'],loc='best')

#设置标题

ax1.set_title('PrimaryandSecondaryCoordinates')

#-------

#绘制直线

#-------

#两条line的数据

line1=[(2,0),(2,1)]

line2=[(7,0),(7,1)]

(line1_xs,line1_ys)=zip(*line1)

(line2_xs,line2_ys)=zip(*line2)

#创建两条线,并添加

ax1.add_line(Line2D(line1_xs,line1_ys,linewidth=1,color='black'))

ax1.add_line(Line2D(line2_xs,line2_ys,linewidth=1,color='black'))

#显示图像

plt.show()

绘制出的图像如上所示,可以看到图的左右两边的y轴的刻度不一样,左边的范围是0-1,右边的范围是0-10.

主次坐标轴绘制图例

有的时候使用上面的方式是无法同时将主次坐标的图例画出来,这个时候可以使用下面的方式来进行绘制,也就是不要使用 plt.legend() 或是 ax.legend() 的方式绘制,而是直接使用 fig.legend() 来进行绘制:

fig.legend(fontsize=17,bbox_to_anchor=(0.83,0.87))

上面就是主次坐标轴的一些画法,下面随便讲讲吧。

结语

上一次写随笔还是-06-07小记,已经过去一个月了。这一个月的时间我也从本科毕业了。虽说现在还在学校上暑期学校,但是感觉变化还是挺大的,身边的人又是换了一批吧,分别的时候真的感觉时间好快呀,四年本科就结束了,但是四年间发生的事情还历历在目。

自己一直还没有整理毕业那段时间拍的照片,之后肯定会整理一下发出来的。下面这段话是今天在网易云听歌的时候看到的评论。最近在学校里走路,总会想起和前女友在一起的点滴吧。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。