Matplotlib:设置坐标轴范围,刻度,位置,自定义刻度名称
程序员文章站
2022-05-27 16:12:06
...
在使用matplotlib模块时画坐标图时,往往需要对坐标轴设置很多参数,这些参数包括横纵坐标轴范围、坐标轴刻度大小、坐标轴名称等
-
xlim()
:设置x坐标轴范围 -
ylim()
:设置y坐标轴范围 -
xlabel()
:设置x坐标轴名称 -
ylabel()
:设置y坐标轴名称 -
xticks()
:设置x轴刻度 -
yticks()
:设置y轴刻度
#创建数据
x = np.linspace(-5, 5, 100)
y1 = np.sin(x)
y2 = np.cos(x)
#创建figure窗口,figsize设置窗口的大小
plt.figure(num=3, figsize=(8, 5))
#画曲线1
plt.plot(x, y1)
#画曲线2
plt.plot(x, y2, color='blue', linewidth=5.0, linestyle='--')
#设置坐标轴范围
plt.xlim((-5, 5))
plt.ylim((-2, 2))
#设置坐标轴名称
plt.xlabel('xxxxxxxxxxx')
plt.ylabel('yyyyyyyyyyy')
#设置坐标轴刻度
my_x_ticks = np.arange(-5, 5, 0.5)
#对比范围和名称的区别
#my_x_ticks = np.arange(-5, 2, 0.5)
my_y_ticks = np.arange(-2, 2, 0.3)
plt.xticks(my_x_ticks)
plt.yticks(my_y_ticks)
#显示出所有设置
plt.show()
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='--')
plt.xlim((-1, 2))
plt.ylim((-2, 3))
plt.xlabel('I am x')
plt.ylabel('I am y')
plt.show()
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='--')
plt.xlim((-1, 2))
plt.ylim((-2, 3))
plt.xlabel('I am x')
plt.ylabel('I am y')
new_ticks = np.linspace(-1, 2, 5)
print(new_ticks)
plt.xticks(new_ticks)
plt.yticks([-2, -1.8, -1, 1.22, 3],[r'$really\ bad$', r'$bad$', r'$normal$', r'$good$', r'$really\ good$'])
plt.show()
设置坐标轴–边框
-
gca()
:获取当前坐标轴信息 -
.spines
:设置边框 -
.set_color
:设置边框颜色:默认白色 -
.spines
:设置边框 -
.xaxis.set_ticks_position
:设置x坐标刻度数字或名称的位置 -
.yaxis.set_ticks_position
:设置y坐标刻度数字或名称的位置 -
.set_position
:设置边框位置
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='--')
plt.xlim((-1, 2))
plt.ylim((-2, 3))
new_ticks = np.linspace(-1, 2, 5)
plt.xticks(new_ticks)
plt.yticks([-2, -1.8, -1, 1.22, 3],['$really\ bad$', '$bad$', '$normal$', '$good$', '$really\ good$'])
ax = plt.gca()
#设置上边和右边无边框
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
plt.show()
调整坐标轴:
ax = plt.gca()
#设置上边和右边无边框
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
#设置x坐标刻度数字或名称的位置
ax.xaxis.set_ticks_position('bottom')
#设置边框位置
ax.spines['bottom'].set_position(('data', 0))
plt.show()
ax = plt.gca()
#设置上边和右边无边框
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
#设置x坐标刻度数字或名称的位置
ax.xaxis.set_ticks_position('bottom')
#设置边框位置
ax.spines['bottom'].set_position(('data', 0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
plt.show()
推荐阅读
-
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
-
学习python中matplotlib绘图设置坐标轴刻度、文本
-
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
-
学习python中matplotlib绘图设置坐标轴刻度、文本
-
Matplotlib:设置坐标轴范围,刻度,位置,自定义刻度名称
-
Matplotlib之tick设置坐标轴刻度的透明度
-
matplotlib图像刻度、坐标轴的设置
-
python matplotlib画图设置坐标轴刻度的字体大小
-
python matplotlib画图设置坐标轴刻度的字体大小
-
python matplotlib.axes相关属性设置(绘图方式、坐标轴、坐标刻度、文本等)