如何用Python绘制不连续的ceil(上取整)函数图像?
修复ceil函数阶梯图像的绘制问题
你的代码用plt.plot()会连接所有数据点,包括整数位置跳跃处的相邻点,导致出现不符合数学定义的斜线。要画出正确的阶梯状ceil函数图像,用plt.step()函数即可,它会自动处理阶梯的跳跃逻辑。
修改后的代码
import numpy as np import matplotlib.pyplot as plt x = np.arange(-5, 5, 0.01) y = np.ceil(x) # 使用step函数绘制,where='post'匹配ceil函数的数学定义 plt.step(x, y, where='post', linewidth=1.5, label='ceil(x)') plt.xlabel('x') plt.ylabel('ceil(x)') plt.title('Graph of Ceiling Function') plt.legend() # 加上网格更易观察阶梯 plt.grid(True, alpha=0.3) plt.show()
关键说明
where='post'参数:表示在每个x点之后应用对应的y值,完美匹配ceil函数的定义——对于任意区间(n, n+1](n为整数),ceil(x) = n+1;当x=n时,ceil(x)=n。- 对比原代码的
plt.plot(),plt.step()不会连接跳跃处的端点,只会绘制水平线段和垂直跳跃线,符合数学图像的要求。
内容的提问来源于stack exchange,提问作者avni prajapati
相关产品推荐
相关产品推荐

