编程学习网 > 编程语言 > Python > 浅谈python 绘图教程
2023
07-17

浅谈python 绘图教程

本文简单介绍了使用 python 绘图,并附上了简单的例子


02 所需环境
本文使用的代码在如下环境运行

编辑器:vscode
插件:jupyter
内核:python 3.9.11
第三方库:numpy、matplotlib
03 绘制 
代码如下

# 导入必要的库
import matplotlib.pyplot as plt
import numpy as np
# 绘制 sin x
x = np.linspace(0,6,100)
y = np.sin(x)
plt.plot(x,y,c='r')
代码解释:

x = np.linspace(0,6,100) 指定 x 的范围为  ,并在该范围均匀取了 100 个点,取样越多,最后画出来的图像也就越光滑,同时需要计算的时间也越长.
y = np.sin(x) 调用了 numpy 的内置函数 sin(x),与之类似的内置函数有 cos(x)、exp(x)、log(x) 等等,假设 x = [1,2,3],那么 y = np.sin(x) 的结果为 [sin(1),sin(2),sin(3)].
plt.plot(x,y,c='r'),将 x 轴与 y 轴的数据传入,绘制图像,c='r' 是指定绘制出的线条颜色为红色,也可以完整的写成 color='red',也可以不写,如果不写会使用默认的颜色.
注:在 jupyter 中,运行上面代码可以直接得到图像,如果没有使用 jupyter ,还需要在 plt.plot(x,y,c='r') 后一行加上 plt.show() 来显示图像.

运行结果如下:


04 绘制自定义函数图像
numpy 中的内置函数是有限的,如果想要画出一些想要的函数可能需要自己定义,下面来绘制一个三次函数:

现在定义所要的三次函数,代码如下

def myfun(x):
    y = x**3 - 3*x**2 + 2*x + 1
    return y
然后把之前的 y = np.sin(x) 换成 y = myfun(x) 即可,完整代码如下:

# 导入必要的库
import matplotlib.pyplot as plt
import numpy as np

# 自定义函数
def myfun(x):
    y = x**3 - 3*x**2 + 2*x + 1
    return y

# 绘制自定义函数图像
x = np.linspace(-0.5,3,100)
y = myfun(x)
plt.plot(x,y,c='k')
05 添加标题、图例等
相关内容由代码注释给出

# 导入必要的库
import matplotlib.pyplot as plt
import numpy as np

# 自定义函数
def myfun(x):
    y = x**3 - 3*x**2 + 2*x + 1
    return y

# 绘制自定义函数图像
x = np.linspace(-0.5,3,100)
y = myfun(x)

# label = 'myfun(x)' 用于标注图例,但此时图例并不会显示
plt.plot(x,y,c='k',label = 'myfun(x)')

# 运行该句才显示图例
plt.legend()

# 设置 x 轴、y 轴名称以及图像标题
plt.xlabel('x name')
plt.ylabel('y name')
plt.title('a title demo')

# 保存图像, 一般 dpi 越高, 保存的图像越清晰,同时占存越大,
# 该句要在plt.show()之前运行
plt.savefig('mypic.png', dpi=200)

# 显示图像
plt.show()

运行结果如下:


06 后记

上面的绘图已经具备了大多数必要的要素,但事实上一个个性化的图像绘制涉及许多细节,比如绘图区的颜色,整个图像的背景色,标签的字体,如何使用中文以及如何绘制散点图、条形图等等,其中一些内容等下次笔者有空或许会更新,感兴趣的读者也可以自行查阅资料.

以上就是浅谈python 绘图教程的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取