2017-09-23 49 views
1

我想绘制一个包含三个不同图形的绘图。这是我的代码:图形不会显示何时缩放轴

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

打印​​和max(x2)表明x2范围从10~3.3e22。但是,您的y轴仅从-22。因此x2的值都不在可见范围内。

您可以规模的过程中更改为plt.axis([0, 50, -2, 3.5e22]),这将导致

enter image description here

但随后,x0x1没有很好地看到的情节了。你需要自己决定,如果在同一个图中绘制所有3个系列是有意义的。