操纵轴的比例

时间:2015-10-06 09:17:27

标签: python matplotlib

我是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.

基本上我正在寻找一种操纵轴刻度的方法,这样你就可以为特定的轴设置两个不同的刻度。

1 个答案:

答案 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()

enter image description here

或者,您可以使用plt.plot创建绘图,然后使用Axes.set_yscale('log')yaxis设置为对数刻度:

plt.plot(x_data,y_data,'bo-')
plt.gca().set_yscale('log')