2

軸のない棒グラフをプロットしています。ゼロ以外の値を持つバーのみを表示したいと思います。ゼロの場合、バーはまったく必要ありません。現在、ゼロ軸に小さな線が表示されますが、それを消したいです。どうやってやるの?

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt

data = (0, 1890,865, 236, 6, 1, 2, 0 , 0, 0, 0 ,0 ,0 ,0, 0, 0)
ind = range(len(data))
width = 0.9   # the width of the bars: can also be len(x) sequence

p1 = plt.bar(ind, data, width)
plt.xlabel('Duration 2^x')
plt.ylabel('Count')
plt.title('DBFSwrite')
plt.axis([0, len(data), -1, max(data)])

ax = plt.gca()

ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
ax.spines['left'].set_visible(False)
ax.spines['bottom'].set_visible(False)

plt.savefig('myfig')

サンプル出力

x=0 と x=7-16 の非常に細い線が見えますか? それらをなくしたいと思います。

4

1 に答える 1