天天看點

【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】标注一、學習背景二、參考三、代碼學習