6、set_xlim、set_ylim、xticks、yticks、set_xlabels、set_ylabels 和 双坐标轴twin()

目录

    • 1、set_xlim()、set_ylim()
    • 2、 xticks() 、yticks()、set_xlabels()、set_ylabels()
    • 3、双坐标轴

1、set_xlim()、set_ylim()

Matplotlib会自动得出沿x、y(和z轴,如果是3D图)轴显示的变量的最小值和最大值。然而,可以通过使用set_xlim()和set_ylim()函数明确地设置限制。实例如下:

下面代码是自动设置轴变量的:

import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
a1 = fig.add_axes([0.3,0.3,0.5,0.5])
x = np.arange(1,10)
a1.plot(x, np.exp(x))
a1.set_title('exp')
plt.show()

显示结果如下:
6、set_xlim、set_ylim、xticks、yticks、set_xlabels、set_ylabels 和 双坐标轴twin()_第1张图片
给x轴设置在0到10,给y轴设置0到10000,代码如下:

import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
a1 = fig.add_axes([0,0,1,1])
x = np.arange(1,10)
# 在axes区域画图并设置颜色为红色
a1.plot(x, np.exp(x),'r')
a1.set_title('exp')
# 给y轴设置变量范围
a1.set_ylim(0,10000)
# 给x轴设置变量范围
a1.set_xlim(0,10)
plt.show()

显示结果如下:
6、set_xlim、set_ylim、xticks、yticks、set_xlabels、set_ylabels 和 双坐标轴twin()_第2张图片

2、 xticks() 、yticks()、set_xlabels()、set_ylabels()

ticks是表示轴上数据点的标记。xticks()和yticks()函数使用一个列表对象作为参数。列表中的元素表示相应动作上显示ticks的位置。简单来说,ticks就是轴刻度对应的数。这里我们需要学习两个函数:

第一个:xticks() and yticks()

xticks()和yticks()函数使用一个列表对象作为参数。列表中的元素表示相应动作上显示ticks的位置。

ax.set_xticks([2,4,6,8,10])

第二个:set_xlabels() 和 set_ylabels()

ax.set_xlabels([‘two’, ‘four’,’six’, ‘eight’, ‘ten’])

实例如下:

import matplotlib.pyplot as plt
import numpy as np
import math
x = np.arange(0, math.pi*2, 0.05)
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) # main axes
y = np.sin(x)
ax.plot(x, y)
ax.set_xlabel(‘angle’)
ax.set_title('sine')
ax.set_xticks([0,2,4,6])
#ax.set_xticklabels(['zero','two','four','six'])
ax.set_yticks([-1,0,1])
plt.show()

显示结果如下:ax.set_xticks([0,2,4,6])
6、set_xlim、set_ylim、xticks、yticks、set_xlabels、set_ylabels 和 双坐标轴twin()_第3张图片
在ax.set_xticks([0,2,4,6])添加一行ax.set_xticklabels([‘zero’,‘two’,‘four’,‘six’])后显示图像如下:
6、set_xlim、set_ylim、xticks、yticks、set_xlabels、set_ylabels 和 双坐标轴twin()_第4张图片
可以看出,利用set_xticks([0,2,4,6])可以将我们的x轴显示4个刻度值并显示每个刻度上的值,用set_xticklabels([‘zero’,‘two’,‘four’,‘six’])会在x轴下方显示,并会替换掉原来的数字

set_xticks()和set_xticklabels()缺一不可,否则刻度个显示个数不确定,会乱。

3、双坐标轴

有时候我们需要用到双x轴和双y轴。在绘制不同单位的曲线时更是如此。Matplotlib通过twinx和twiny函数来支持这个功能。

在下面的例子中,该图有两个y轴,一个显示exp(x),另一个显示log(x)。

import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
a1 = fig.add_axes([0.1,0.1,0.8,0.8])
x = np.arange(1,11)
# 先设置好a1区域
a1.plot(x,np.exp(x))
a1.set_ylabel('exp')
# 利用a1.twin(),则还是这个区域作图,却使用了不同的y轴
a2 = a1.twinx()
a2.plot(x, np.log(x),'ro-')
a2.set_ylabel('log')
fig.legend(labels = ('exp','log'),loc='upper left')
plt.show()

显示结果如下:
6、set_xlim、set_ylim、xticks、yticks、set_xlabels、set_ylabels 和 双坐标轴twin()_第5张图片

你可能感兴趣的:(matplotlib)