【发布时间】:2014-09-24 20:41:03
【问题描述】:
在离散时间序列图中,我尝试将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()
这就是我现在得到的图表:
但我想得到这样的东西,(这会反映出它随着时间的推移是不规则的分布):
【问题讨论】:
标签: python matplotlib time-series timeserieschart