【问题标题】:numpy.linspace - bad labels on the X axisnumpy.linspace - X 轴上的错误标签
【发布时间】:2020-07-12 11:39:42
【问题描述】:

我有这个小型绘图程序。
但是当我运行它时,我注意到 X 轴上的标签不正确。
它们从 0 到 5000,而实际上我有间隔 [-1.5, 1.5]

1...我该如何解决这个问题?

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-1.5, 1.5, 5000)
y1 = np.tan(x) * np.arctan(x)
y2 = x * x

plt.plot(y1)
plt.plot(y2)

plt.show()

2...另外,如果我将 linspace 更改为 call
x = np.linspace(-mt.pi/2.0 + 1/(10**6), mt.pi/2.0 - 1/(10**6), 5000)

我得到了一个更奇怪且非常不正确的情节。
事情完全搞砸了。
为什么?我想在(-pi/2, pi/2)范围内绘制这两个函数
我该怎么做?

【问题讨论】:

    标签: python python-3.x numpy matplotlib


    【解决方案1】:

    试试:

    import numpy as np
    import matplotlib.pyplot as plt
    
    x = np.linspace(-1.5, 1.5, 5000)
    y1 = np.tan(x) * np.arctan(x)
    y2 = x * x
    plt.plot(x,y1)
    plt.plot(x,y2)
    plt.show()
    

    现在x 轴值介于 -1.5 和 1.5 之间。

    关于第二种情况的奇怪情节,请注意:

    np.tan(-1.5) -14.101419947171719

    和:

    np.tan(-mt.pi/2.0) -1.633123935319537e+16

    这要大得多。

    【讨论】:

    • 啊...就这么简单,谢谢...我的第二个问题呢?有什么想法吗?
    • 其实没关系,我明白为什么会这样。因为y1x 从右侧接近-pi/2 时变得非常非常大......所以y2 的图形开始看起来像一条线/段。
    • 我已附在 asnwer 中,但正在调查它一段时间 :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-26
    • 2013-09-25
    • 2016-03-31
    • 1970-01-01
    相关资源
    最近更新 更多