如果我有类似的东西;
import numpy as np, math as m, matplotlib.pyplot as plt
def test():
x = [1,2,3]
y = [m.log(0.1),m.log(0.2),m.log(0.3)]
fig1 = plt.figure()
plt.plot(x,y)
plt.show()
这将显示y轴显示负数的图表。我想知道如何使图形显示为对数(就像列表y最初定义的那样)。
谢谢!
答案 0 :(得分:2)
根据日志的定义,分数的对数是否定的。例如10 ^ x = 1/2,x 必须为负以获得小数值。这就是日志背后的想法。因此,最好的办法是以对数刻度显示,以便显示正分数。
最简单的方法是取 10^x
,其中x是每个y值的十进制值。然后你将y输出作为小数,而不是负数。
然后你可以将 .ylabel()
设置为“log scale”。
编辑:我认为您正在寻找的是关于制作自定义标记的on this stackoverflow question。您应该可以使用yticks
代替答案中使用的xticks
。