在matplotlib.pyplot的x轴上设置日志间隔

时间:2019-02-19 07:14:27

标签: python python-3.x matplotlib

有什么办法让我的情节的x轴以10 ^ n的间隔从0变到10 ^ 5?

plt.plot(tau,c)
plt.xlim(0,1000)
plt.show()

我想添加到此代码中。

2 个答案:

答案 0 :(得分:0)

您可以使用semilogx代替plot来绘制在x轴上具有对数比例的图。 有关此功能的文档,请参见here

然后可以使用xlim指定x轴的极限。有关此函数的文档资料,请参见here

下面是如何使用这两个功能的代码示例:

import numpy as np
from scipy.misc import electrocardiogram
import matplotlib.pyplot as plt

data = electrocardiogram()
plt.semilogx(data)
plt.xlim(left=0,right=100000)

此代码返回以下图像:

enter image description here

答案 1 :(得分:0)

您可以为轴设置log比例。这是一个示例:

plt.plot(tau,c)
plt.xscale("log")
plt.xlim(0,1000)
plt.xticks([1e0,1e1,1e2,1e3])

注意:在对数刻度上,您不应以0开头。请使用1(1e0),或者如果值小于1,例如在0.1和1之间,然后使用0.1(1e-1)作为第一个刻度。