python中的绘图是非常方便和实用的,在平时的学习中我们可以掌握一些简单的绘图还是非常必要的,其中matplotlib是python最著名的绘图库,里面提供了非常多的api提供我们绘制各种各样丰富的图表,下面是一些简单的例子:
绘制折线图:
若想要保存图片,需要调用plt.savefig
方法对当前的Figure对象保存为图像文件
注意:plt.savefig()
函数应该出现在plt.show()
函数之前,否则,关闭图像窗口后,图像对象也就被释放了,什么都保存不到
import matplotlib.pyplot as plt
if __name__ == '__main__':
x = [0, 2, 4, 6]
y = [1.4, 2.5, 4.6, 7.9]
# plot函数作图
plt.plot(x, y)
# show函数展示出这个图,如果没有这行代码,则程序完成绘图,但看不到, dpi为分辨率
plt.savefig("img.jpg", dpi=72)
plt.show()
对绘制的线条设置属性
可以使用plot函数对绘制的线条设置线条风格、颜色、线条标记等
import matplotlib.pyplot as plt
if __name__ == '__main__':
x = [0, 2, 4, 6]
y = [1.4, 2.5, 4.6, 7.9]
# plot函数用来设置线条的属性: color设置线条颜色, linestyle设置线条样式, marker设置标记
# linewidth设置线条宽度
plt.plot(x, y, color="g", linestyle="-", marker="*", linewidth=1.0)
plt.show()
下面是官网提供的样式:
linesstyle:
markers:
colors:
坐标轴的控制:
主要涉及以下几个参数:① 坐标轴的范围 ② 坐标间隔 ③ 标题
坐标范围:plt.axis([x_min, x_max, y_min, y_max])
坐标间隔设定:plt.xticks()和plt.yticks()用来实现对x轴和y轴坐标间隔(也就是轴记号)的设定。用法上,函数的输入是两个列表,第一个表示取值,第二个表示标记,如果你的标记就是取值本身,则第二个列表可以忽略
坐标标题:plt.xlabel()和plt.ylabel()对x轴和y轴添加标题
下面是y = tanx函数的生成的例子:
if __name__ == '__main__':
import matplotlib.pyplot as plt
import numpy as np
# 使用arange生成一个范围内的数字序列
x = np.arange(-1.5 * np.math.pi, 1.5 * np.math.pi, 0.02)
print(x)
y = np.tan(x)
# axis函数设置坐标轴x与y的范围
plt.axis([-10, 10, -5, 5])
# 因为range函数两个参数表示步长为1, 所以假如要表示x轴或者y轴之间的间隔那么应该可以乘以0.5
# 这样就可以表示0.5的间隔了
# x轴的间隔为0.5
plt.xticks([i * np.pi * 0.5 for i in range(-3, 4)], [str(i * 0.5) + "$\pi$" for i in range(-3, 4)])
# y轴的间隔为1
plt.yticks([i for i in range(-5, 6)])
plt.xlabel("x")
plt.ylabel("y")
plt.plot(x, y, color="r", linestyle="-", linewidth=1)
plt.show()
生成的图像: