import matplotlib.pyplot as plt
android = [82.8, 84.8, 79.8, 69.3]
android2 = [float(i) for i in android]
ios = [13.9,11.6,12.9,16.6]
ios2 = [float(i) for i in ios]
win = [2.6,2.5,3.4,3.1]
win2 = [float(i) for i in win]
years = [2105,2014,2013,2012]
years2 = [float(i) for i in years]
plt.bar(years2,android2, color='blue')
plt.xticks([2012,2013,2014,2015])
plt.show()
应该看like this:
我很困惑为什么我的图表将所有x值压缩在一起而没有 将它们分开。如何让我的每个酒吧都像一个宽度一样宽 在图像?
答案 0 :(得分:4)
因为你的#34年有2105年#34;列表,它比其他人更大,所以将其改为较小的值,如2005年或2015年。
答案 1 :(得分:2)
除了@Metin注意到的拼写错误之外,您还需要更改条形宽度,然后将每组条形偏移该宽度,以重现此图形。
关注this example,您可以这样做:
import matplotlib.pyplot as plt
import numpy as np
android = np.array([82.8, 84.8, 79.8, 69.3])
ios = np.array([13.9,11.6,12.9,16.6])
win = np.array([2.6,2.5,3.4,3.1])
years = ['2015','2014','2013','2012']
index = np.arange(len(years))
bar_width = 0.3
plt.bar(index, android, label='android',
width=bar_width, color='blue')
plt.bar(index+bar_width, ios, label='ios',
width=bar_width, color='red')
plt.bar(index+2*bar_width, win, label='win',
width=bar_width, color='yellow')
plt.xticks(index + 1.5*bar_width, years)
plt.legend(loc=0)
plt.show()