添加适当标注,可提高图形的可读性;
常用标注包含,坐标轴的值和描述,legand对图像中的线描述,图像任意地方添加文字描述等。
1.添加X/Y轴范围设置,及注释
- import numpy as np
- import matplotlib.pyplot as plt
- x=np.linspace(-5,5,100)
- y1=2*x+1
- y2=x**2
- #设定X/Y轴范围
- plt.xlim(-1,2)
- plt.ylim((-2,3))
-
- #添加X/Y轴描述
- plt.xlabel('I am X')
- plt.ylabel('I am Y')
-
- plt.plot(x,y1)
- plt.plot(x,y2)
- plt.show()
![]()
2.添加刻度线
- '''
- '''
- #添加刻度线ticks
- new_ticks = np.linspace(-2,2,11) #取值(-2,2)范围,采样11个点
- print(new_ticks)
- plt.xticks(new_ticks)
-
- #字符串代替数字刻度,显示更直观意义
- plt.yticks([-1,0,1,2,3],['level1','level2','level3','level4','level5'])
-
- plt.plot(x,y1,color='red',linewidth=5.0,linestyle='-')
- #区分两条线,设置线为blue, 线宽=1.0,‘--’
- plt.plot(x,y2,color='blue',linewidth=1.0,linestyle='--')
- plt.show()
![]()
3.设置坐标轴边框,添加个title
- #gca get current axis
- #设置坐标轴边框
- ax = plt.gca()
- ax.spines['right'].set_color('red')
- ax.spines['top'].set_color('none')
-
- #添加标题
- plt.title(r'$hello\ world$',fontsize=30)
![]()
- #把X轴的刻度设置为bottom,Y设置位'left'
- ax.xaxis.set_ticks_position('bottom')
- ax.yaxis.set_ticks_position('left')
![]()
- #设置bottom,left到零点
- ax.spines['bottom'].set_position(('data',0))
- ax.spines['left'].set_position(('data',0))
-
- plt.plot(x,y1,color='red',linewidth=5.0,linestyle='-')
- plt.plot(x,y2,color='blue',linewidth=1.0,linestyle='--')
- plt.show()
![]()
3.legand
plt.legend([L1,L2],['test1','test2'],loc='upper right')
![]()
4.添加文字标注
- plt.plot(x,y1,color='red',linewidth=2.0,linestyle='-')
- #plt.plot(x,y2,color='blue',linewidth=1.0,linestyle='--')
- x0=0.5
- y0=2*x0 + 1
- #画点
- plt.scatter(x0,y0,s=100,color='b')
- #画虚线
- plt.plot([x0,x0],[y0,0],'g--',lw=2)
![]()
- #r'$xxxx$'
- #xy=蓝色点位置
- #xytext:描述框相对xy位置
- #textcoords='offset points',以xy为原点偏移xytext
- #arrowprops = 画弧线箭头,'---->', rad=.2-->0.2弧度
- plt.annotate(r'$2x+1=%s$'%y0,xy=(x0,y0),xytext=(+30,-30),textcoords='offset points',fontsize=16,
- arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))
![]()
- #放置纯文字描述
- #位置:-2,2
- #内容:r'$xxxx$'
- plt.text(-2,2,r'$this\ is\ the\ text$',fontdict={'size':'24','color':'b'})
- plt.show()
![]()
文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树绘图库MatplotlibMatplotlib快速入门416654 人正在系统学习中
评论记录:
回复评论: