我有下面的图,其中X范围非常宽,并且图形的形状接近1 MeV到0.1 MeV被抑制。
我想要一个图,其中X刻度在10,1,0.1 MeV之间具有相等的分离(或相等的网格)。
答案 0 :(得分:2)
您可以使用matplotlib
的{{3}}函数代替plot
来使x
轴成为对数。
这是一个简短的例子:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0.01,14,0.01)
y = np.log(100*x)
fig,(ax1,ax2) = plt.subplots(2)
ax1.plot(x,y)
ax1.set_xlim(x[-1],x[0])
ax1.set_title('plot')
ax2.semilogx(x,y)
ax2.set_xlim(x[-1],x[0])
ax2.set_title('semilogx')
plt.show()
答案 1 :(得分:1)
也考虑一下
ax.set_xscale("log")
http://matplotlib.org/examples/pylab_examples/aspect_loglog.html