python - 缩放轴时图表不显示

标签 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,它仅在删除轴缩放命令时显示。

最佳答案

打印 min(x2)max(x2) 显示 x2 范围从 10~3.3e22。但是,您的 y 轴仅从 -22。因此,x2 中的任何值都不在可见范围内。

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

enter image description here

但是,x0x1 在图中不再清晰可见。您需要自己决定将所有 3 个系列绘制在同一个图中是否有意义。

关于python - 缩放轴时图表不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46380414/

相关文章:

python - 值错误 : ordinal must be >= 1

python - Python 方法名称末尾的括号是什么?

python - Django/python postgresql 原始 sql 问题

python - 如何让 python 只有在异常死掉时才进入交互模式?

python - matplotlib 使日期的轴刻度标签变为粗体

python - 子图边距以适合 matplotlib 中的标题和标签

php - 退出 HTML 页面时停止在 PHP 文件中调用的 Python 脚本

python - 如何在Flask中设置HTTPONLY cookie

python - 五彩线与字符串 linecollection

python - 从 Matplotlib 图例中排除 Cartopy 元素