如何由于xscale(log)而自动更新x中的nans的ylim

问题描述 投票:0回答:1

我正在绘制数据 (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()
没有帮助。有什么想法/意见吗?

python matplotlib plot scale logarithm
1个回答
0
投票

快速查看文档后,我建议您尝试

set_ylim(bottom=0.0)
set_ybound(lower=0.0)
ylim(bottom=0.0)

事实上,我只需添加一行就可以使其与您的示例一起使用:

plt.ylim(bottom=0.0)
© www.soinside.com 2019 - 2024. All rights reserved.