在 Python 中更改图形的 x 轴和 y 轴上的值
Changing the values on the x and y axis of a graph in Python
如果我有类似的东西;
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()
为"log scale".
编辑: 我认为您正在寻找的内容已得到 on this Whosebug question 关于制作自定义刻度的答案。您应该能够在答案中使用 yticks
而不是 xticks
。
如果我有类似的东西;
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()
为"log scale".
编辑: 我认为您正在寻找的内容已得到 on this Whosebug question 关于制作自定义刻度的答案。您应该能够在答案中使用 yticks
而不是 xticks
。