如何在Python Matplotlib中让点精准落在X轴上
解决方法
最简单的方法有两种:
适配自动轴范围:将蓝色点的y坐标设置为当前坐标轴的底部极限值。因为matplotlib会根据曲线数据自动调整坐标轴范围,若曲线最小值大于0,X轴位置会对应这个最小值而非y=0,直接用
ax.get_ylim()[0]获取该值即可让点落在X轴上。
修改后代码:import numpy as np import matplotlib.pyplot as plt x = np.linspace(-3, +3, 100) y = np.exp(-x**2) * (2 + np.sin(2*x) + np.sin(5*x)) fig, ax = plt.subplots(figsize=(8, 4)) ax.plot(x, y, linestyle='-', linewidth=2.0, color="black") ax.scatter(x=0.90, y=ax.get_ylim()[0], color="blue") plt.show()强制X轴对齐y=0:手动固定y轴下限为0,这样X轴就严格对应y=0,点直接设y=0就能落在轴上。
修改后代码:import numpy as np import matplotlib.pyplot as plt x = np.linspace(-3, +3, 100) y = np.exp(-x**2) * (2 + np.sin(2*x) + np.sin(5*x)) fig, ax = plt.subplots(figsize=(8, 4)) ax.plot(x, y, linestyle='-', linewidth=2.0, color="black") ax.set_ylim(bottom=0) ax.scatter(x=0.90, y=0, color="blue") plt.show()
两者中第一种更灵活,无需手动干预轴范围;第二种则能明确保证X轴对应y=0的位置,可根据需求选择。
内容的提问来源于stack exchange,提问作者Andrew
相关产品推荐
相关产品推荐

