我的条形图的 y 轴不是从 0 开始的。 它以要显示的三个值中的最小值作为起点。 我希望它从零到十五
data = {'Average Time of 1st Instance':average_value1, 'Average Time of 2nd Instance':average_value2, 'Average Time of 3rd Instance':average_value3}
instances = list(data.keys())
times = list(data.values())
fig = plt.figure(figsize = (10, 5))
plt.bar(instances, times, color ='blue', width = 0.4)
plt.xlabel('Instance of ++HSS')
plt.ylabel('Time in Seconds')
plt.title('Time Taken to run the Three Instances of ++HSS')`
plt.show()
这是我得到的图表:
使用设置 y 轴限制
plt.ylim(0, 15)
也不起作用
数据:
average_value1 = 8.88
average_value2 = 11.86
average_value3 = 11.36
问题是您的
average_value
值是字符串而不是数字。如果你改变线路:
times = list(data.values())
改为:
times = [float(d) for d in data.values()]
要将值显式转换为浮点数,您应该得到您所期望的结果。
或者,在创建字典时转换它们,即
data = {
'Average Time of 1st Instance': float(average_value1),
'Average Time of 2nd Instance': float(average_value2),
'Average Time of 3rd Instance': float(average_value3)
}
您是否尝试过添加刻度值?与此相关的一些内容:
yticks = np.linspace(0,15,3)
plt.yticks(yticks, yticks)