轴缩放时图表不显示

时间:2017-09-23 14:03:34

标签: python matplotlib

我想在其中制作一个包含三个不同图表的情节。这是我的代码:

import numpy as np
from math import sqrt
import matplotlib.pyplot as plt

def make_sequence(N:int, alpha:float, beta:float) -> np.ndarray:
    z_n = np.empty((N, 1))
    for n in range(1, N+1):
        z_n[n-1] = alpha*(1+sqrt(3))**n + beta*(1-sqrt(3))**n
    return z_n

x0 = make_sequence(50, 0.0, 1.0)
x1 = make_sequence(50, 0.0, 99.0)
x2 = make_sequence(50, 5.0, 5.0)

plt.plot(x0, 'bo')
plt.plot(x1, 'ro')
plt.plot(x2, 'go')
plt.axis([0, 50, -2, 2])
plt.title(r'$z_1,...,z_{50}$')
plt.xlabel('n')
plt.legend([r'$\alpha =0$,  $\beta =1$', r'$\alpha =0$,  $\beta =99$', r'$\alpha =5$,  $\beta =5$'])
plt.show()

为什么x2没有显示在情节上?
如果我尝试单独绘制x2,则只显示我是否删除了轴缩放命令。

1 个答案:

答案 0 :(得分:1)

打印min(x2)max(x2)表示x2的范围从10~3.3e22。但是,您的y轴仅从-2变为2。因此,x2中没有一个值在可见范围内。

您当然可以将比例更改为plt.axis([0, 50, -2, 3.5e22]),这会导致

enter image description here

但是,x0x1在情节中再也看不到了。你需要自己决定,如果在同一个情节中绘制所有3个系列是有意义的。