Matplotlib 绘图区域学习了怎么样找到区域,也就是找到可以绘画的地方,现在就相当于画家有了笔和纸,这样要考虑怎么样去布局这张白纸了。
本文主要讲述坐标系的刻度设置,这样就可以固定显示区域。也给出了坐标系是否显示和隐藏的功能,最后说明了怎么样增加坐标系的网格线,这些功能你学会之后,怎么样使用,在于你自己的需求。
如果学习中学的数学,肯定知道画曲线时,先要确定一个坐标系,通常就是画出直角坐标系。要想画出直角坐标系,那么就需要确定原点的位置和两条坐标轴的方向,当然还要确定两条坐标轴的长度,以及每个坐标轴的刻度的大小。
那么你就会好奇地问,matplotlib里怎么样设置坐标轴的刻度呢?带着这个问题,下面通过例子演示:
在这里可以看到,坐标系的原点是在(-10,-10),最大值分别是10。要设置这样的坐标系,需要使用下面的代码:
import matplotlib.pyplot as plt
import numpy as np
x1, x2 = -10, 10
y1, y2 = -10, 10
fig = plt.figure('deepinout')
plt.axis([x1, x2, y1, y2])
plt.show()
在代码,前面已经说过的内容就不再详细说了,如果不懂可以回头看前文,在这里主要关注点是plt.axis([x1, x2, y1, y2])这行,它把X轴和Y轴的坐标刻度都设置为从(-10,10)的区间,那么就是说只有在这个区域大小数值的才能画出来。如果你处理的数据是从-100到100,那么设置的刻度就会不一样,所以你必须根据你的实际需要来设置刻度。这里主要教会你知道使用axis函数来设置坐标轴的刻度,同时也设置了区域的大小。
当使用axis函数创建坐标系之后,默认都会显示出来的,如果不显示出来,就需要使用下面的代码:
plt.axis('on')
当你想不显示这个坐标系时,也可以关闭它,
import matplotlib.pyplot as plt
import numpy as np
x1, x2 = -10, 10
y1, y2 = -10, 10
fig = plt.figure('deepinout')
plt.axis([x1, x2, y1, y2])
plt.axis('off')
plt.show()
结果如下图所示:
在这里通过plt.axis(‘off’)代码来关闭坐标的显示,这对于有时候想不要从标系来干扰图形的美观,就可以关闭掉它。
如果还想要坐标系里显示一些网格线,可以清楚地知道图形在那些点上是最高点,那些点上是最低点,就可以采用网格线:
import matplotlib.pyplot as plt
import numpy as np
x1, x2 = -10, 10
y1, y2 = -10, 10
fig = plt.figure('deepinout')
plt.axis([x1, x2, y1, y2])
plt.grid(True)
plt.show()
结果如下图:
在这里可以看到每个刻度都有直线连接一起,X轴和Y轴的线交叉在一起,就形成了网格线。主要控制的代码是plt.grid(True),这行是控制显示网格线的;plt.grid(False)是关闭网格线。同理,如果你认为网格线干扰到你的图像显示,那么就需要把它关闭,如果有助于仔细地分辨图像曲线,那么就要打开它。