我已经开始使用matplotlib了,我有点困惑为什么数字存在。有时我会看到声明图形的代码,然后绘制图表,有时候我会看到这样的事情:
import numpy as np
import matplotlib.pyplot as plt
data = np.loadtxt('initial.dat','float')
plt.plot(data[:,0], data[:,1])
plt.xlabel("x (Angstroms)")
plt.ylabel("V (eV)")
plt.savefig('v.png',bbox_inches='tight')
plt.clf()
我阅读了关于图和情节的文档,但我没有得到它。为什么数字存在?
答案 0 :(得分:5)
使用matplotlib创建一些绘图后,图形将始终存在。
introductory matplotlib page可能会有所帮助:
整个人物。该图记录了所有子轴,一些“特殊”艺术家(标题,图形图例等)和画布。 (不要过于担心画布,它是至关重要的,因为实际上绘制的对象可以让你获得你的情节,但是作为用户它对你来说或多或少是不可见的)。一个数字可以有任意数量的Axes,但要有用,至少应该有一个。
你可以想象这个数字是你画了一块情节的白纸。一个数字有一些大小,也许是一个背景,最重要的是它是你绘制的所有东西的容器。在大多数情况下,这将是一个或多个轴。如果没有任何数字,就不会有任何纸张来绘制你的情节(你不能在空中画线)。
即使您没有明确地创建该图,它也会在后台自动创建。
import matplotlib.pyplot as plt
plt.plot([1,2,3])
# at this point we already have a figure, because the plot needs to live somewhere
# we can get a handle to the figure via
figure = plt.gcf()
当你明确需要一个数字时的例子:
如果你想创建第二个数字。
plt.plot([1,2,3])
plt.figure(2)
plt.plot([2,4,6])
如果要设置图形尺寸或其他图形参数。
plt.figure(figsize=(5,4), dpi=72)
如果要更改子图的填充。
fig, ax=plt.subplots()
fig.subplots_adjust(bottom=0.2)