在对数刻度上绘制负值

时间:2017-04-12 14:30:24

标签: python-2.7 matplotlib

我正在做一些分析来计算log_10(x)的值,这是一个负数。我现在正试图绘制这些值,但是,由于答案的范围非常大,我想使用对数标度。如果我只是使用plt.yscale('log'),我会收到一条消息,告诉我UserWarning: Data has no positive values, and therefore cannot be log-scaled.我也无法提供xplt.plot的值,因为log_10(x)的结果太大了并且否定x**(log_10(x))的答案只是0

绘制这些数据的最简单方法是什么?

1 个答案:

答案 0 :(得分:4)

您可以使用

plt.yscale('symlog')

将比例设置为对称日志​​比例。这意味着它将以对数方式缩放到0的两边。只有使用symlog标度的负部分才能正常工作。