python-----设置标题、轴标签、刻度标签(ticker部分)
程序员文章站
2022-03-10 21:24:15
...
这个问题,我们有很多方式都可以来实现:
第一种方式:
import numpy as np
import matplotlib.pyplot as plt
plt.figure()
x = np.arange(0,10,1) #这个函数的第三个参数表示的是步长,以此进行划分
z = x**2
y = np.linspace(1,10,10) #这个函数的第三个参数表示的是用几个点去划分,作为y的值
plt.plot(x,z,color = 'red',linewidth=1.0,linestyle='--')
#线颜色 线宽 线样式
plt.title(u'方法一') #设置标题
plt.xlabel('X') #设置x,y轴的标签
plt.ylabel('Y')
plt.xlim(0,10) #设置x,y的区间
plt.ylim(0,100)
#plt.axis([0,10,0,100])这一句可以替换以上两句
plt.xticks([0,1,2,3,4,5,6,7,8,9,10])
# 第一个参数是点的位置,第二个参数是点的文字提示。
plt.yticks([0, 20, 60, 80, 100],
[r'$really\ bad$', r'$bad$', r'$normal$', r'$good$', r'$readly\ good$'])
#$表示特殊的字体,这边如果后期有需要可以上网查,空格需要转译,数学alpha可以用\来实现
ax = plt.gca() #gca='get current axis'
# 将右边和上边的边框(脊)的颜色去掉
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax = plt.gca()
# 绑定x轴和y轴
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
# # 定义x轴和y轴的位置
ax.spines['bottom'].set_position(('data', 10))
ax.spines['left'].set_position(('data', 2))
plt.show()
方法二:
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0,10,1) #这个函数的第三个参数表示的是步长,以此进行划分
z = x**2
ax = plt.subplot()
ax.plot(x,z)
ax.set_xlim(0,10)
ax.set_ylim(0,100)
ax.set_title(u'方法二')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_yticks([0,10,20,50,100])
ax.set_yticklabels(('one','two','three', 'four', 'five')) # 不显示‘five’
plt.show()
第三种:
from pylab import *
from matplotlib.ticker import MultipleLocator, FormatStrFormatter
xmajorLocator = MultipleLocator(20) #将x主刻度标签设置为20的倍数
xmajorFormatter = FormatStrFormatter('%1.1f') #设置x轴标签文本的格式
xminorLocator = MultipleLocator(5) #将x轴次刻度标签设置为5的倍数
ymajorLocator = MultipleLocator(0.5) #将y轴主刻度标签设置为0.5的倍数
ymajorFormatter = FormatStrFormatter('%1.1f') #设置y轴标签文本的格式
yminorLocator = MultipleLocator(0.1) #将此y轴次刻度标签设置为0.1的倍数
t = arange(0.0, 100.0, 1)
s = sin(0.1*pi*t)*exp(-t*0.01)
ax = subplot(111) #注意:一般都在ax中设置,不再plot中设置
plot(t,s,'--b*')
#设置主刻度标签的位置,标签文本的格式
ax.xaxis.set_major_locator(xmajorLocator)
ax.xaxis.set_major_formatter(xmajorFormatter)
ax.yaxis.set_major_locator(ymajorLocator)
ax.yaxis.set_major_formatter(ymajorFormatter)
#显示次刻度标签的位置,没有标签文本
ax.xaxis.set_minor_locator(xminorLocator)
ax.yaxis.set_minor_locator(yminorLocator)
ax.xaxis.grid(True, which='major') #x坐标轴的网格使用主刻度
ax.yaxis.grid(True, which='minor') #y坐标轴的网格使用次刻度
show()
目前更新到这里,后期还有补充会继续完善这篇博客!