天天看点

【Python画图 04】标注一、学习背景二、参考三、代码学习

一、学习背景

最近在学习python制图,准备做个模板好出图

目录

  • 一、学习背景
  • 二、参考
  • 三、代码学习
    • 方法1:自行设置锚点
    • 方法2:以原点为基准

二、参考

这个学习系列都参考了B站UP主的视频《【莫烦Python】Matplotlib Python 画图教程》,我是将他的代码重新输入下来后加入了自己的注释和理解,感恩

三、代码学习

方法1:自行设置锚点

import matplotlib.pyplot as plt
import numpy as np

x=np.linspace(-3,3,50) #生成(-3,3)的50个点
y=2*x+1


plt.figure(num=1,figsize=(8,5)) #创建图像
plt.plot(x,y,) #绘制图像并设置线条名称up


ax=plt.gca()
ax.spines['right'].set_color('none') #将右边和上边的轴的颜色设置为无色
ax.spines['top'].set_color('none') 
ax.xaxis.set_ticks_position('bottom') #将bottom设为x轴
ax.yaxis.set_ticks_position('left') #将bottom设为x轴
ax.spines['bottom'].set_position(('data',0)) #x轴的原点取在数值为0上
ax.spines['left'].set_position(('data',0)) #y轴的原点取在数值为0上

x0=1
y0=2*x0+1
plt.scatter(x0,y0,s=50,color='b') #颜色是蓝色
plt.plot([x0,x0],[y0,0],'k--',lw=2.5) #画一条,x的范围是[x0,x0],y的范围为[y0,0]的线,即起点为[x0,y0],终点为[x0,0]。颜色为black,形状为--,线的宽度为2.5

#method1
#标注文字为2x+1=3,锚点为(x0,y0),xy以数值作为基准,标注文字的坐标可以调整,前面+30表示横坐标右移30,后面-30表示纵坐标下移30,基于基准点来移动,以->的形式,指定弧度加入指向标记,以指定
plt.annotate(r'$2x+1=%s$'%y0, xy=(x0,y0),xycoords='data',xytext=(+30,-30),textcoords='offset points',fontsize=16,arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))


plt.show()

           
【Python画图 04】标注一、学习背景二、参考三、代码学习

方法2:以原点为基准

import matplotlib.pyplot as plt
import numpy as np

x=np.linspace(-3,3,50) #生成(-3,3)的50个点
y=2*x+1


plt.figure(num=1,figsize=(8,5)) #创建图像
plt.plot(x,y,) #绘制图像并设置线条名称up


ax=plt.gca()
ax.spines['right'].set_color('none') #将右边和上边的轴的颜色设置为无色
ax.spines['top'].set_color('none') 
ax.xaxis.set_ticks_position('bottom') #将bottom设为x轴
ax.yaxis.set_ticks_position('left') #将bottom设为x轴
ax.spines['bottom'].set_position(('data',0)) #x轴的原点取在数值为0上
ax.spines['left'].set_position(('data',0)) #y轴的原点取在数值为0上

x0=1
y0=2*x0+1
plt.scatter(x0,y0,s=50,color='b') #颜色是蓝色
plt.plot([x0,x0],[y0,0],'k--',lw=2.5) #画一条,x的范围是[x0,x0],y的范围为[y0,0]的线,即起点为[x0,y0],终点为[x0,0]。颜色为black,形状为--,线的宽度为2.5

#method1
#以原点为基准,x减少即左移3.7 y上移3
plt.text(-3.7,3,r'$This\ is\ the\ some\ text.\ \mu\ \sigma_i\ \alpha_t$',fontdict={'size':16,'color':'r'})
    

plt.show()
           
【Python画图 04】标注一、学习背景二、参考三、代码学习