【问题标题】:Plot negative values on a log scale在对数刻度上绘制负值
【发布时间】:2017-09-08 09:49:13
【问题描述】:

我正在做一些分析来计算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

绘制这些数据最直接的方法是什么?

【问题讨论】:

    标签: python matplotlib seaborn


    【解决方案1】:

    你可以使用

    plt.yscale('symlog')
    

    将比例设置为对称对数比例。这意味着它将以对数方式缩放到 0 的两侧。仅使用 symlog 比例的负部分就可以了。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    • 2015-07-22
    相关资源
    最近更新 更多