如果我想设置轴的x,y标签,我必须这样做:
import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.ylabel('This is y label')
plt.xlabel('This is x label')
plt.show()
我需要单独设置xlabel
,ylabel
。
我想知道是否有任何语法我可以做类似的事情:
plt.label('x label', 'y label')
所以代码看起来更紧凑?
或者如何制作任何自定义功能?
答案 0 :(得分:5)
一旦开始更频繁地使用matplotlib的面向对象模型,您将能够将轴的所有相关参数作为关键字添加到构成这些轴的函数中。
一个简单的例子:
fig = plt.figure()
ax = fig.add_subplot(111, xlabel="time", ylabel="money")
更长的例子:
fig1 = plt.figure(figsize=(10,8))
ax1 = fig1.add_axes((0.1, 0.1, 0.8, 0.8), # full positional control
frameon=True, # display frame boundary
aspect='equal', # set aspect ratio upon creation
adjustable='box', # what part of the axes can change to meet the aspect ratio requirement?
xticks=[0.1, 1.2, 10],
xlabel='voltage (V)',
xlim=(0.05, 10.05),
yticks=[0, 10],
ylabel='current (µA)',
ylim=(0, 2))
跟进收到的评论,您还可以使用“属性批量设置器”ax.set
,这是一个不错的小matplotlib便利功能。
plt.close('all')
plt.plot([1,2,3], [4, 7, 1])
plt.gca().set(xlabel='x', ylabel='y')
答案 1 :(得分:1)
也许这可以帮到你
import matplotlib.pyplot as plt
def grap_label(g, lx='',ly=''):
plt.xlabel(lx)
plt.ylabel(ly)
plt.show()
grap_label(plt.plot([1,2,3,4]), 'This is x label','This is y label')