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

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

谢谢!

最佳答案

根据对数的定义,分数的对数是负数。例如 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/

相关文章:

python - 向图像添加高斯噪声

python - 列出单独的值

matlab - 如何绘制具有特定 x 值的累积图?

algorithm - 修改 Dijkstra 算法以找到具有最大权重的最短路径

python - 设置 Pandas 索引或转置

Python 制表

python - 如果所有值(在该行或列中)都为 None,则从二维列表中删除行或列

python - 如何将 pandas 中的数据框设置为数字?

java - Dijkstra 算法用 C++ 实现并转换为 Java

python - python 中是否有与 php 的 $$variables 类似的语法