在离散时间序列图中,我尝试替换ax.plot(x,y)
为ax.vlines(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()
这就是我现在得到的图表:
但我想得到这样的东西,(这将反映它随着时间的推移是不规则的分布):