Python 3.x Matplotlib-条形图的开头不是以0开头

Python 3.x Matplotlib-条形图的开头不是以0开头,python-3.x,matplotlib,Python 3.x,Matplotlib,我有一个数据,我希望以条形图的形式呈现它 数据: 我的代码: 我已经导入了所有模块 import openpyxl as ol import numpy as np import matplotlib.pyplot as plt plt.bar(col1, col2, label="Usage of the user") plt.xlabel("Date") plt.ylabel("Usage in seconds") plt.title('Usage report of ' + str(ar

我有一个数据,我希望以条形图的形式呈现它

数据:

我的代码:

我已经导入了所有模块

import openpyxl as ol
import numpy as np
import matplotlib.pyplot as plt

plt.bar(col1, col2, label="Usage of the user")
plt.xlabel("Date")
plt.ylabel("Usage in seconds")
plt.title('Usage report of ' + str(args.user))
plt.legend()
plt.savefig("data.png")
当我打开data.png时 我明白了:

这张图看起来到处都是,我希望它从零开始

我不熟悉matplotlib和openpyxl


非常感谢您的帮助。

问题似乎在于绘制在y轴上的
col2
中的值是字符串而不是整数。将这些值更新为整数将允许y轴从
0
开始并按顺序排列

col1 = ['2018 01 01', '2018 01 02', '2018 12 27'] #dates
col2 = ['4554', '14120', '1422']

plt.bar(col1, [int(x) for x in col2], label="Usage of the user")
plt.xlabel("Date")
plt.ylabel("Usage in seconds")
plt.title('Usage report')
plt.legend()

建议:将日期转换为实际日期,将字符串转换为数字。如果您有timeseries数据,请查看pandas。您希望它从
“零”
“0”
0
开始吗?
col1 = ['2018 01 01', '2018 01 02', '2018 12 27'] #dates
col2 = ['4554', '14120', '1422']

plt.bar(col1, [int(x) for x in col2], label="Usage of the user")
plt.xlabel("Date")
plt.ylabel("Usage in seconds")
plt.title('Usage report')
plt.legend()