1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| import matplotlib.pyplot as plt import numpy as np
data = ((3, 1000), (10, 3), (100, 30), (500, 800), (50, 1))
dim = len(data[0]) w = 0.75 dimw = w / dim
fig, ax = plt.subplots() x = np.arange(len(data)) for i in range(len(data[0])): y = [d[i] for d in data] b = ax.bar(x + i * dimw, y, dimw, bottom=0.001)
ax.set_xticks(x + dimw / 2, map(str, x)) ax.set_yscale('log')
ax.set_xlabel('x') ax.set_ylabel('y')
plt.show()
|