Chapter3 设置坐标轴

发布时间 2023-04-13 11:39:45作者: gao79138

Chapter3 设置坐标轴


import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3,3,50)
y1 = 2*x+1
y2 = x**2

plt.figure()
plt.plot(x,y2)
plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--')

# 设置x轴的取值范围
plt.xlim((-1,2))
# 设置y轴的取值范围
plt.ylim((-2,3))
# 描述x轴
plt.xlabel('I am x')
# 描述y轴
plt.ylabel('I am y')

plt.show()

img

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3,3,50)
y1 = 2*x+1
y2 = x**2

plt.figure()
plt.plot(x,y2)
plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--')

# 设置x轴的取值范围
plt.xlim((-1,2))
# 设置y轴的取值范围
plt.ylim((-2,3))
# 描述x轴
plt.xlabel('I am x')
# 描述y轴
plt.ylabel('I am y')
# 设置新的角标
new_ticks = np.linspace(-1,2,5)
print(new_ticks)  # [-1.   -0.25  0.5   1.25  2.  ]
plt.xticks(new_ticks)  # 把新的角标应用到x轴
plt.show()

img

    可以发现,与上图相比,x的角标发生了变化
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3,3,50)
y1 = 2*x+1
y2 = x**2

plt.figure()
plt.plot(x,y2)
plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--')

# 设置x轴的取值范围
plt.xlim((-1,2))
# 设置y轴的取值范围
plt.ylim((-2,3))
# 描述x轴
plt.xlabel('I am x')
# 描述y轴
plt.ylabel('I am y')
# 设置新的角标
new_ticks = np.linspace(-1,2,5)
print(new_ticks)
plt.xticks(new_ticks)  # 把新的角标应用到x轴
# 设置y的角标,使得数字与相应注释一一对应
plt.yticks([-2,-1.8,-1,1.22,3],['really bad','bad','normal','good','really good'])
plt.show()

img

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3,3,50)
y1 = 2*x+1
y2 = x**2

plt.figure()
plt.plot(x,y2)
plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--')

# 设置x轴的取值范围
plt.xlim((-1,2))
# 设置y轴的取值范围
plt.ylim((-2,3))
# 描述x轴
plt.xlabel('I am x')
# 描述y轴
plt.ylabel('I am y')
# 设置新的角标
new_ticks = np.linspace(-1,2,5)
print(new_ticks)
plt.xticks(new_ticks)  # 把新的角标应用到x轴
# 设置y的角标,使得数字与相应注释一一对应
# 通过给注释首尾添加$符号,使得字体更加好看。当然,空格需要转义才可以显示
plt.yticks([-2,-1.8,-1,1.22,3],['$really\ bad$','$bad$','$normal$','$good$','$really\ good$'])
plt.show()

img

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3,3,50)
y1 = 2*x+1
y2 = x**2

plt.figure()
plt.plot(x,y2)
plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--')

# 设置x轴的取值范围
plt.xlim((-1,2))
# 设置y轴的取值范围
plt.ylim((-2,3))
# 描述x轴
plt.xlabel('I am x')
# 描述y轴
plt.ylabel('I am y')
# 设置新的角标
new_ticks = np.linspace(-1,2,5)
print(new_ticks)
plt.xticks(new_ticks)  # 把新的角标应用到x轴
# 设置y的角标,使得数字与相应注释一一对应
# 通过给注释首尾添加$符号,使得字体更加好看。当然,空格需要转义才可以显示
plt.yticks([-2,-1.8,-1,1.22,3],['$really\ bad$','$bad$','$normal$','$good$','$really\ good$'])

# gca = 'get current axis'

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)) # 通过data的值来选择下边框的位置
                                               # 当data为-1时,代表将下边框移动到y轴的0位置
ax.spines['left'].set_position(('data',0))     # 通过data的值来选择左边框的位置
                                               # 当data为0时,代表将左边框移动到x轴的0位置

    

                           
plt.show()

img