我已经开始使用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()
Run Code Online (Sandbox Code Playgroud)
我阅读了关于图和情节的文档,但我没有得到它.为什么数字存在?
使用matplotlib创建一些绘图后,图形将始终存在.
在介绍matplotlib页面可能有助于在这里:
整个人物.该图记录了所有子轴,一些"特殊"艺术家(标题,图形图例等)和画布.(不要过于担心画布,它是至关重要的,因为实际上绘制的对象可以让你获得你的情节,但是作为用户它对你来说或多或少是不可见的).一个数字可以有任意数量的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()
Run Code Online (Sandbox Code Playgroud)
当你明确需要一个数字时的例子:
如果你想创建第二个数字.
plt.plot([1,2,3])
plt.figure(2)
plt.plot([2,4,6])
Run Code Online (Sandbox Code Playgroud)如果要设置图形大小或其他图形参数.
plt.figure(figsize=(5,4), dpi=72)
Run Code Online (Sandbox Code Playgroud)如果要更改子图的填充.
fig, ax=plt.subplots()
fig.subplots_adjust(bottom=0.2)
Run Code Online (Sandbox Code Playgroud)