在离散时间序列图中,我尝试用ax.vlines(x,y)替换ax.plot(x,y):我得到错误:vlines() missing 1 required positional argument: 'ymax'
但是,我不能预先知道ymax值。
如何避免这个错误?在
我应该通过解析所有要显示的数据来计算这个值吗?有没有办法告诉matplotlib自动适应数据?在
有关图表的更多详细信息:
由于绘制的是一条连续曲线,所以图形不准确,而我的数据是离散值随时间的分布。这就是为什么我要使用vlines。在
这是我创建图形时使用的代码:
(exception_time_series对象是对程序中给定时间内给定异常类型的数量进行计数的对象)。在fig = figure(1)
for exception_time_series in exceptions_time_series.list_exception_time_series:
time_values, series_values = exception_time_series.time_values, exception_time_series.series_values
ax = fig.add_subplot(111, autoscale_on=True )
dates = np.array(time_values)
x = dates
y = np.array(series_values)
ax.plot(x, y, label=exception_time_series.exception) # <=== using plot
ax.legend()
show()
这就是我现在得到的图表:
但我想得到这样的东西,(这将反映出这是一个不规则的分布,随着时间的推移):