Matplotlib-条形图开始不以0开头

时间:2018-07-09 21:37:44

标签: python-3.x matplotlib

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

数据:

col1 = ['2018 01 01', '2018 01 02', '2018 12 27'] #dates
col2 = ['4554', '14120', '1422'] #usage of the user in seconds for that data in col1

我的代码:

我已经导入了所有模块

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时 我明白了:

Click here for the image

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

我是matplotlib和openpyxl的新手。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

问题似乎在于,绘制在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()

enter image description here