在Python中更改图形的x和y轴上的值

时间:2015-02-05 17:51:18

标签: python numpy graph

如果我有类似的东西;

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最初定义的那样)。

谢谢!

1 个答案:

答案 0 :(得分:2)

根据日志的定义,分数的对数是否定的。例如10 ^ x = 1/2,x 必须为负以获得小数值。这就是日志背后的想法。因此,最好的办法是以对数刻度显示,以便显示正分数。

最简单的方法是取10^x,其中x是每个y值的十进制值。然后你将y输出作为小数,而不是负数。

然后你可以将.ylabel()设置为“log scale”。

编辑:我认为您正在寻找的是关于制作自定义标记的on this stackoverflow question。您应该可以使用yticks代替答案中使用的xticks