我正在绘制数据 (x,y),并希望以对数刻度显示 x 轴。由于 x 中有一些负值,因此无法计算所有负值的 log10。这会导致 nans 在绘图时被简单地省略(这就是我想要的)但是y 轴限制不会针对这些缺失值进行更新。
示例:
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-10, 11, 1)
plt.plot(x,x, marker='d')
当我在 x 轴上添加对数刻度时,负值将被省略,但 y 轴不会更新
x = np.arange(-10, 11, 1)
plt.plot(x,x, marker='d')
plt.xscale('log')
当然我可以手动设置
ylim
,但如果我不知道头的确切值,那就不理想了。我很困惑 matplotlib 不会自动更新它...... ax.relim()
和 ax.autoscale_view()
没有帮助。有什么想法/意见吗?
set_ylim(bottom=0.0)
或 set_ybound(lower=0.0)
或 ylim(bottom=0.0)
。
事实上,我只需添加一行就可以使其与您的示例一起使用:
plt.ylim(bottom=0.0)