【发布时间】:2017-03-29 13:19:45
【问题描述】:
我正在尝试使用 matplotlib 创建条形图。
x 轴数据是一个带有年份的列表:[1950,1960,1970,1980,1990,1995-2015]
y 轴数据是一个列表,其数量与年份相同。
这是我的代码:
import csv
import matplotlib.pyplot as plt
path = "bevoelkerung_entwicklung.csv"
with open(path, 'r') as datei:
reader = csv.reader(datei, delimiter=';')
jahr = next(reader)
population = next(reader)
population_list = []
for p in population:
population_list.append(str(p).replace("'",""))
population_list = list(map(int, population_list))
jahr = list(map(int, jahr))
datei.close()
plt.bar(jahr,population_list, color='c')
plt.xlabel('Year')
plt.ylabel('Population in 1000')
plt.title('Population growth')
plt.legend()
plt.show()
结果如下: Too much space between bars
正如您所见,1950 年至 1960 年之间的差距是巨大的。我怎样才能做到这一点,以便在 1950-1995 年的酒吧之间没有间隙。我知道它有 10 年的间隔,但看起来不太好。
任何帮助都将不胜感激。
【问题讨论】:
-
所以你想根据 x 间距调整条的宽度吗?在这种情况下,您的条形将不再以真实数据点为中心
-
我认为有 26 个条目。我想有 26 个酒吧,它们之间的空间相等。这就是我想要实现的目标。
标签: python matplotlib charts