Matplotlib 绘图中plt.draw()和plt.show()的区别

Matplotlib 绘图中plt.draw()和plt.show()的区别

在使用Matplotlib进行图形绘制时,我们常常会用到plt.draw()和plt.show()这两个函数,它们具有不同的作用和用法。本文将详细介绍这两个函数的区别和使用方法,帮助大家更好地学习和掌握Matplotlib的绘图技巧。

阅读更多:Matplotlib 教程

plt.draw()函数

plt.draw()函数的作用是重新绘制当前图形。当我们在绘制图形时,如果需要对其进行修改,需要重新调用plt.draw()函数进行更新。例如:

import matplotlib.pyplot as plt

x = [1,2,3,4,5]
y = [2,4,6,8,10]

plt.plot(x,y) # 绘制初始图形
plt.show() # 显示图形
Python

此时,我们得到了一张简单的折线图。假设我们现在想修改其中某些点的颜色,可以通过以下方式进行:

plt.plot(x,y) # 绘制初始图形

# 修改点的颜色
plt.scatter(2, 4, color='r')
plt.scatter(4, 8, color='r')

plt.draw() # 重新绘制图形
plt.show() # 显示图形
Python

在上面的代码中,我们使用plt.scatter()函数来绘制了两个红色的点,然后调用plt.draw()函数进行更新,最后再用plt.show()函数来显示图形。这时候,我们就能看到修改后的结果了。

需要注意的是,如果我们在修改图形的过程中使用了plt.show()函数,则plt.draw()函数将失效。因此,一般情况下我们应该先调用plt.draw()函数,然后再使用plt.show()函数。

另外,plt.draw()函数还可以被用来在后台进行图形绘制,即不需要显示图形的情况下完成图形绘制操作。我们可以先使用如下语句设置将图形显示设为无:

plt.switch_backend('Agg')
Python

然后再调用plt.draw()函数进行图形绘制,绘制完成后可以将图形保存到文件中以便查看。

fig = plt.figure()
plt.plot([1, 2, 3])
plt.draw()
fig.savefig("test.png")
Python

plt.show()函数

plt.show()函数的作用是将绘制完成的图形显示出来。在使用Matplotlib进行图形绘制的过程中,我们不仅需要绘制图形,还需要将其显示出来以便于观察和分析。

例如,我们可以通过以下代码来绘制一张简单的饼图:

import matplotlib.pyplot as plt

labels = ['A', 'B', 'C', 'D'] # 饼图的标签
sizes = [15, 30, 45, 10] # 饼图的比例
colors = ['red', 'green', 'yellow', 'blue'] # 饼图的颜色

plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', shadow=True, startangle=90)

plt.show() # 显示饼图
Python

在这个例子中,我们使用plt.pie()函数来绘制了一张简单的饼图,并使用plt.show()函数将其显示出来。在这个过程中,我们还可以通过修改函数的各种参数来改变图形的样式。

需要注意的是,plt.show()函数将会阻塞当前进程,直到用户关闭图形窗口。因此,在调用plt.show()函数之后的所有代码都将无法执行,直到用户关闭图形窗口为止。正因如此,我们一般将plt.show()函数作为绘图程序的最后一行代码。

总结

在本文中,我们讲解了Matplotlib中plt.draw()和plt.show()这两个函数的区别和使用方法,plt.draw()函数的主要作用是重新绘制图形,适用于绘图过程中的修改和后台绘图;而plt.show()函数则主要用于将绘制的图形显示出来,并且阻塞程序直至用户关闭窗口。掌握这两个函数的使用方法,对于Matplotlib的图形绘制和修改将会更加得心应手。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册