如果我有类似的东西;
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 最初定义的那样)。
谢谢!
最佳答案
根据对数的定义,分数的对数是负数。例如 10^x=1/2,x必须为负数才能得到小数值。这就是日志背后的想法。因此,最好的选择是使用对数刻度显示,以便显示正分数。
最简单的方法是采用 10^x
,其中 x 是每个 y 值的十进制值。然后你将得到 y 输出为小数,而不是负数。
然后您可以将.ylabel()
设置为“对数刻度”。
编辑:我认为您正在寻找的内容已得到解答 on this stackoverflow question关于制作自定义刻度。您应该能够使用 yticks
而不是答案中使用的 xticks
。
关于python - 在 Python 中更改图形的 x 轴和 y 轴上的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28350740/