我是matplotlib的新手并使用它绘制直方图。数据如下:
y_axis=[82.34,0.009,0.1,1.45,0.01]
x_axis=[0.1,0.2,0.3,0.4,0.5]
问题是当我绘制它时,y轴值如0.009和0.01不会出现在图形中,它们看起来是0.因此有一种方法可以操纵特定范围的轴刻度。就像刻度线0和1之间的差异是0.1的因子,但是对于大于1的范围,刻度之间的距离是10.
基本上我正在寻找一种操纵轴刻度的方法,这样你就可以为特定的轴设置两个不同的刻度。
答案 0 :(得分:0)
听起来你想要一个对数刻度。有几种方法可以做到这一点。一种方法是使用plt.semilogy
:
import matplotlib.pyplot as plt
y_data = [82.34,0.009,0.1,1.45,0.01]
x_data = [0.1,0.2,0.3,0.4,0.5]
plt.semilogy(x_data,y_data,'bo-')
plt.show()
或者,您可以使用plt.plot
创建绘图,然后使用Axes.set_yscale('log')
将yaxis
设置为对数刻度:
plt.plot(x_data,y_data,'bo-')
plt.gca().set_yscale('log')