提问人:avni prajapati 提问时间:4/1/2023 最后编辑:Trenton McKinneyavni prajapati 更新时间:4/2/2023 访问量:94
如何绘制不连续天花板函数?
How can I plot a discontinuous ceiling function?
问:
这是我用来在 python 中绘制天花板函数图的代码。
import math
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-5, 5, 0.01)
y = np.ceil(x)
plt.plot(x,y)
plt.xlabel('ceil(x)')
plt.ylabel('graph of ceil (x)')
plt.title('graph of ceil (x)')
plt.show()
我尝试考虑两个整数之间的浮点值,但无法绘制正确的图形,该图形是断开连接的,并且在我们绘制数学时在图形中显示跳跃。np.arange
答:
0赞
TheEngineerProgrammer
4/2/2023
#1
我想这就是你想要的:
x = np.arange(-5, 5, 0.01)
y = np.ceil(x)
plt.xlabel('ceil(x)')
plt.ylabel('graph of ceil (x)')
plt.title('graph of ceil (x)')
for i in range(int(np.min(y)), int(np.max(y))+1):
plt.plot(x[(y>i-1) & (y<=i)], y[(y>i-1) & (y<=i)], 'b-')
plt.show()
0赞
hpaulj
4/2/2023
#2
如果你看一下,你会发现它只是数字,等等。 显示连续的阶梯图。放大到足够多,你会发现垂直领域并不完全是这样;它们显示了 from to 的变化,在 中的一小步中。y
1.0
plot.plt(x,y)
y
1.0
2.0
x
查看 的每 100 个值。x
In [13]: x[::100]
Out[13]:
array([-5.0000000e+00, -4.0000000e+00, -3.0000000e+00, -2.0000000e+00,
-1.0000000e+00, -1.0658141e-13, 1.0000000e+00, 2.0000000e+00,
3.0000000e+00, 4.0000000e+00])
看看这些要点,然后:ceil
In [15]: np.ceil(x[::100])
Out[15]: array([-5., -4., -3., -2., -1., -0., 1., 2., 3., 4.])
In [16]: np.ceil(x[1::100])
Out[16]: array([-4., -3., -2., -1., -0., 1., 2., 3., 4., 5.])
我们可以在每次跳转时更改为 .y
np.nan
In [17]: y[::100]=np.nan
然后将跳过这些值,只显示没有近垂直立管的平坦。plt(x,y)
nan
红色破折号表示已连接,蓝色表示已断开连接的值。y
nan
另一个答案对每个级别都单独做。plot
一条评论建议,但我还没有弄清楚通话细节。stair
在任何情况下,断开打印都需要对打印进行特殊处理。仅仅创建数组是不够的。x,y
评论
step()
y
,只是一个 numbrs 数组。它不是一个函数。 只是在所有货币对之间画一条线。从数学函数意义上讲,它不是一个连续的或不连续的函数。plt
x,y