这个句柄起着文本标注的作用
标注点的使用,主要用于对图中的某一散点进行解释说明
与plt.plot不同plt.scatter主要负责在图上画出散点,而不会画出它们之间的连线
# -*- coding:utf-8 -8-
"""
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) # for color value
# 值对应一个color map ,alpha是透明度
# plt.scatter(X,Y,s=75,c=T,alpha=0.5)
plt.scatter(np.arange(5),np.arange(5))
# plt.xlim((-1.5,1.5))
# plt.ylim((-1.5,1.5))
plt.xticks(()) #什么都不填表示没有
plt.yticks(())
plt.show()
# -*- coding:utf-8 -8-
"""
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')
# x轴绑定在-1里面
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) #黑色的虚线
# method 1
######################
#注:py3.6应用offset points
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'))
# method 2
######################
plt.text(-3.7,3,r'$This\ is\ the\ some\ text.\ \mu\ \sigma_i\ \alpha_t$',
fontdict={'size':16,'color':'red'})
plt.show()
对于直线的宽度过大,可覆盖住坐标轴的情况,我们通过调节坐标轴的背景颜色以及深度来设置坐标轴
# -*- coding:utf-8 -8-
"""
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()
#记得要打上zoder=1
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')
# x轴绑定在-1里面
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()
本文章为【莫烦Python】Matplotlib Python 画图教程课程对应的一些课堂笔记,并参考了Matplotlib的开发者文档,仅为各位同志学习参考之用
各位看官,都看到这里了,麻烦动动手指头给博主来个点赞8,您的支持作者最大的创作动力哟! <(^-^)>
才疏学浅,若有纰漏,恳请斧正
本文章仅用于各位同志作为学习交流之用,不作任何商业用途,若涉及版权问题请速与作者联系,望悉知