我需要一个人物吗?它们适用于什么?

时间:2017-11-01 23:28:13

标签: python matplotlib

我已经开始使用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()

我阅读了关于图和情节的文档,但我没有得到它。为什么数字存在?

1 个答案:

答案 0 :(得分:5)

使用matplotlib创建一些绘图后,图形将始终存在。

introductory matplotlib page可能会有所帮助:

  

enter image description here

     

整个人物。该图记录了所有子轴,一些“特殊”艺术家(标题,图形图例等)和画布。 (不要过于担心画布,它是至关重要的,因为实际上绘制的对象可以让你获得你的情节,但是作为用户它对你来说或多或少是不可见的)。一个数字可以有任意数量的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)