Python 在对数刻度上绘制负值
我正在做一些分析来计算Python 在对数刻度上绘制负值,python,matplotlib,seaborn,Python,Matplotlib,Seaborn,我正在做一些分析来计算log_10(x)的值,这是一个负数。我现在试图画出这些值,但是,因为答案的范围非常大,我想用对数标度来表示。如果我简单地使用plt.yscale('log')我会收到一条消息,告诉我UserWarning:数据没有正值,因此无法进行日志缩放。我也无法将x的值提供给plt.plot,因为log\u 10(x)的结果是如此之大且为负,以至于x**(log\u 10(x))的答案是如此之大只是0 绘制这些数据最直接的方法是什么?您可以使用 plt.yscale('symlog'
log_10(x)
的值,这是一个负数。我现在试图画出这些值,但是,因为答案的范围非常大,我想用对数标度来表示。如果我简单地使用plt.yscale('log')
我会收到一条消息,告诉我UserWarning:数据没有正值,因此无法进行日志缩放。
我也无法将x
的值提供给plt.plot
,因为log\u 10(x)
的结果是如此之大且为负,以至于x**(log\u 10(x))的答案是如此之大
只是0
绘制这些数据最直接的方法是什么?您可以使用
plt.yscale('symlog')
将比例设置为对称对数比例。这意味着它将以对数方式缩放到0的两侧。仅使用symlog刻度的负部分就可以了。这里有一个函数,可以将范围拆分为symlog刻度的存储箱:。