2017-07-21 8 views
1

私は、ビンでx軸にラベルを付けるヒストグラムを持っています。ヒストグラムはログロググラフとしてプロットされますが、ビンは非常に限定的です。グラフ:ビンによるラベルヒストグラムmatplotlib

The Graph

ビン:

bins = [0, 0.035, 0.07, 0.15, 0.5, 1, 3, 10, 40] 

は、私はこれを行うことができます方法はありますか?現在のx軸ラベルを取り除く必要があると私は信じています。

+0

'ax.set_xticks(bins) 'についてはどうですか?また、 '' plt.hist'に '' edgecolor = "k" 'というパラメタを追加した方がいいと思います。 –

答えて

2

私はあなたのためのサンプルコードを書いています。基本的に、必要なのは「set_xticks」と「set_xticklabels」だけです。

import numpy as np 
import matplotlib.pyplot as plt 

x = [0.01, 0.01, 0.01, 0.04, 0.1, 0.1, 0.4, 0.4, 0.4, 0.4, 0.65, 0.65, 0.65, 2, 7, 7, 7, 7, 7, 7, 7, 7, 18, 18, 18] 
my_bins = [0.001, 0.035, 0.07, 0.15, 0.5, 1, 3, 10, 40] 

ind = np.array(my_bins[:-1]) 
width = np.array([my_bins[i+1]-my_bins[i] for i in range(len(my_bins)-1)]) 

fig, ax = plt.subplots() 

ax.hist(x, bins=my_bins) 
ax.set_xscale('log') 
ax.set_xticks(ind + width/2) 
ax.set_xticklabels(('bin1', 'bin2', 'bin3', 'bin4', 'bin5', 'bin6', 'bin7', 'bin8')) 

plt.show() 
+0

私のラベルがビンと少しずれていることを除いて、うまくいきました。 :) –

+0

素晴らしい!私はあなたのラベルを整列させるためにxticksを調整できると思います。これは、 'ind'と 'width'配列を変更することで行うことができます。 – yuhow5566

+0

私は明白な質問をしていますが、ラベルを少し残すようにこれらの配列を調整するにはどうすればよいですか? –

関連する問題