引言
Matplotlib是Python的画图领域使用最广泛的绘图库,它能让使用者很轻松地将数据图形化以及利用它可以画出许多高质量的图像,是用Python画图的必备技能。
对于这个教程,大家最好亲自码一遍代码,这样可以更有收获。
前面的课程:
Python进阶之Matplotlib入门(一)
Python进阶之Matplotlib入门(二)
概要
1、学会用plt.xlim调节坐标轴边界;
2、学会用plt.xlabel标记坐标轴名字;
3、学会用plt.xticks设计坐标轴刻度。
坐标轴边界
虽然Matplotlib会根据数据自动规划坐标轴的范围,但是很多情况下我们需要人为规定坐标轴的范围。Matplot提供了:
- plt.xlim
- plt.ylim
两个函数来控制坐标轴的边界。我们来看一个例子:
import numpy as np
import matplotlib.pyplot as plt
plt.figure(figsize=(5, 5))
x = np.linspace(-np.pi, np.pi, 256)
y1,y2 = np.cos(x), np.sin(x)
plt.plot(x, y1, color="blue", linewidth=1.0, linestyle="-")
plt.plot(x, y2, color="green", linewidth=1.0, linestyle="--")
plt.xlim(-4, 4)
plt.ylim(-1.5, 1.5)
plt.show()
我们通过设定xlim函数以及ylim函数中的边界值来规定图片的坐标轴的范围。
运行结果:
![f815a851fa7373cc0e127fed5f711679.png](https://i-blog.csdnimg.cn/blog_migrate/e5ac94ac28076a7d3df4e3ba17090306.jpeg)
坐标轴名字
一个合格的图片是必须要横纵坐标轴的名字的,我们用Matplotlib提供的函数:
- plt.xlabel()
- plt.ylabel()
来标记x和y轴的名字。
来看一个例子
import numpy as np
import matplotlib.pyplot as plt
plt.figure(figsize=(5, 5))
x = np.linspace(-np.pi, np.pi, 256)
y1,y2 = np.cos(x), np.sin(x)
plt.plot(x, y1, color="blue", linewidth=1.0, linestyle="-")
plt.plot(x, y2, color="green", linewidth=1.0, linestyle="--")
plt.xlim(-4, 4)
plt.ylim(-1.5, 1.5)
plt.xlabel('name of x axis')
plt.ylabel('name of y axis')
plt.show()
运行结果:
![bc161f8588d77dd9870b1d960bfa48ca.png](https://i-blog.csdnimg.cn/blog_migrate/e576ebd885d43f6f6e0519fb81df8466.jpeg)
坐标轴刻度
最后我们介绍如何设定坐标轴刻度,以及给刻度取名字:
- plt.xticks
- plt.yticks
一般情况下,我们用plt.xticks函数重新布置坐标轴,比如
plt.xticks([-4,-2,0,2,4])
就是让x轴的刻度标记-4,-2,0,2,4这几个数。
有时候我们希望让坐标刻度有名字,例如
plt.yticks([-4,-2,0,2,4],[minus four, minus two, zero, two, four])
这个是把原来的坐标刻度替换成你设定的标记。
我们把完整的代码写出来
import numpy as np
import matplotlib.pyplot as plt
plt.figure(figsize=(5, 5))
x = np.linspace(-np.pi, np.pi, 256)
y1,y2 = np.cos(x), np.sin(x)
plt.plot(x, y1, color="blue", linewidth=1.0, linestyle="-")
plt.plot(x, y2, color="green", linewidth=1.0, linestyle="--")
plt.xlim(-4, 4)
plt.ylim(-1.5, 1.5)
plt.xlabel('name of x axis')
plt.ylabel('name of y axis')
plt.xticks([-4,-2,0,2,4])
plt.yticks([-4,-2,0,2,4],['minus four', 'minus two', 'zero', 'two', 'four'])
plt.show()
运行结果:
![3aefa76db88e2b95c0a8f6e150fd5dcd.png](https://i-blog.csdnimg.cn/blog_migrate/a8e36d3b9b1afc47d8c26081ad6f660d.jpeg)
注意,这张图是因为要让纵坐标的文字能够显示,所以窗口其实做了调整。