文章目录
- 1.标注 Annotation
* - 1.1 plt.text
- 1.2 plt.annotate
- 1.3 scatter
– - 1.4 案例 y = 2 x + 1 y = 2x + 1 y =2 x +1
– - 2. 坐标轴透明度和背景设置
* - 2.1 测试案例
- 2.2 测试结果
- 写在最后
1.标注 Annotation
1.1 plt.text
这个句柄起着文本标注的作用
- 参数1和2分别传入文本标注的坐标
- 参数3传入正则表达式作为显示在图片上的文本
- 参数4传入进一个键值对的方式(如CSS)(fontdict=)来设置文本的字体
1.2 plt.annotate
标注点的使用,主要用于对图中的某一散点进行解释说明
- 第一个参数是正则表达式
- 第二个参数是需要注释的点的坐标
- arrowprops : 显示标注是否需要箭头以及箭头的类型
- xytext:文本偏移注释点的偏移量
1.3 scatter
与plt.plot不同plt.scatter主要负责在图上画出散点,而不会画出它们之间的连线
- 参数1和2负责传进去图中点的横纵坐标
- s:散点的半径(散点圆盘的大小)
- color:散点的颜色
1.3.1 测试样例
"""
Author: FeverTwice
Date: 2021--08--23
"""
import matplotlib.pyplot as plt
import numpy as np
n = 1024
X = np.random.normal(0,1,n)
Y = np.random.normal(0,1,n)
T = np.arctan2(Y,X)
plt.scatter(np.arange(5),np.arange(5))
plt.xticks(())
plt.yticks(())
plt.show()
1.3.2 测试效果
; 1.4 案例 y = 2 x + 1 y = 2x + 1 y =2 x +1
1.4.1 测试代码
"""
Author: FeverTwice
Date: 2021--08--23
"""
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-3,3,50)
y = 2*x+1
plt.figure(num=1,figsize=(8,5),)
plt.plot(x,y)
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', 0))
x0=1
y0=2*x0+1
plt.scatter(x0,y0,s=50,color='b')
plt.plot([x0,x0],[0,y0],'k--',lw=2.5)
plt.annotate(r'$2x+1=%s$' % y0,xy=(x0,y0),xycoords='data',xytext=(+30,-30),textcoords='offset points',
fontsize=15,arrowprops = dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))
plt.text(-3.7,3,r'$This\ is\ the\ some\ text.\ \mu\ \sigma_i\ \alpha_t$',
fontdict={'size':16,'color':'red'})
plt.show()
1.4.2测试效果
; 2. 坐标轴透明度和背景设置
对于直线的宽度过大,可覆盖住坐标轴的情况,我们通过调节坐标轴的背景颜色以及深度来设置坐标轴
2.1 测试案例
"""
Author: FeverTwice
Date: 2021--08--23
"""
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-3,3,50)
y = 0.1*x
plt.figure()
plt.plot(x,y,linewidth =10,zorder=1)
plt.ylim(-2,2)
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', 0))
for label in ax.get_xticklabels()+ax.get_yticklabels():
label.set_fontsize(12)
label.set_bbox(dict(facecolor='white',edgecolor='None',alpha=0.7))
plt.show()
2.2 测试结果
; 写在最后
本文章为【莫烦Python】Matplotlib Python 画图教程课程对应的一些课堂笔记,并参考了Matplotlib的开发者文档,仅为各位同志学习参考之用
各位看官,都看到这里了,麻烦动动手指头给博主来个点赞8,您的支持作者最大的创作动力哟! <(^-^)>
才疏学浅,若有纰漏,恳请斧正
本文章仅用于各位同志作为学习交流之用,不作任何商业用途,若涉及版权问题请速与作者联系,望悉知
Original: https://blog.csdn.net/LeungSr/article/details/119905582
Author: FeverTwice
Title: Matplotlib Python 画图工具包教程学习笔记2 标签标注
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/766376/
转载文章受原作者版权保护。转载请注明原作者出处!