在对数刻度上绘制负值
Plot negative values on a log scale
我正在做一些分析来计算 log_10(x)
的值,它是一个负数。我现在正在尝试绘制这些值,但是,由于答案的范围非常大,我想为此使用对数刻度。如果我只是使用 plt.yscale('log')
,我会收到一条消息,告诉我 UserWarning: Data has no positive values, and therefore cannot be log-scaled.
我也无法将 x
的值提供给 plt.plot
,因为 log_10(x)
的结果太大了否定 x**(log_10(x))
的答案只是 0
.
绘制这些数据最直接的方法是什么?
您可以使用
plt.yscale('symlog')
将比例设置为对称对数比例。这意味着它将以对数方式缩放到 0 的两边。仅使用 symlog 比例的负数部分就可以了。
我正在做一些分析来计算 log_10(x)
的值,它是一个负数。我现在正在尝试绘制这些值,但是,由于答案的范围非常大,我想为此使用对数刻度。如果我只是使用 plt.yscale('log')
,我会收到一条消息,告诉我 UserWarning: Data has no positive values, and therefore cannot be log-scaled.
我也无法将 x
的值提供给 plt.plot
,因为 log_10(x)
的结果太大了否定 x**(log_10(x))
的答案只是 0
.
绘制这些数据最直接的方法是什么?
您可以使用
plt.yscale('symlog')
将比例设置为对称对数比例。这意味着它将以对数方式缩放到 0 的两边。仅使用 symlog 比例的负数部分就可以了。