我正在使用Live仪表板来跟踪主机和其他几个关键性能指标的系统性能。但是,当我放大并添加新数据点时,缩放会将视图重置为主视图。 Here就是我所说的一个例子。
左图是历史数据,右图是具有更高粒度的相关数据。我删除了大部分代码格式和SQL信息作为预防措施。我概述了用于执行实时图表的代码。正如我所说的,我希望直接添加数据点,而不会将视图重置为home。
任何方向或帮助都会受到赞赏,因为我无法找到有关此问题的任何内容。
curs = conn.cursor()
fig = plt.figure()
def graph_dash():
fig.clf()
graph_array1 = []
graph_array2 = []
graph_array3 = []
graph_array4 = []
# host dash
graph_array5 = []
graph_array6 = []
graph_array7 = []
graph_array8 = []
graph_array9 = []
graph_array10 = []
# selects data and formats date into usable format
# defines charts
def animate(i):
graph_dash()
ani = animation.FuncAnimation(fig, animate, frames=200, interval=300000)
plt.show()
curs.close()
conn.close()
以下是我用来绘制10个数组中每个数组的内容
ax1 = plt.subplot2grid((6, 5), (0, 0), rowspan=3, colspan=3)
plt.plot_date(x=date_stamp1, y=value1, fmt='-', label='value', linewidth=1, rasterized=True)
plt.ylabel('Total Duration (m/s)', fontsize=12)
plt.title('CDETS LIVE MONITOR')
ax1.tick_params(axis='y', labelsize=12)
ax1.grid(True)
ax1.set_ylim([0, 1000000])
我从SQL中提取数据(用*替换dbname)并准备日期:
for row in curs.execute('SELECT * FROM * ORDER BY CETS_DATE ASC'):
used_data = str(row).replace('None', '').replace('u\'', '').replace("'", "").replace('-04:00', '')
split_data = used_data.split(',')
graph_array_append1 = split_data[8].replace('T', ' ').replace(')', '') + ',' + split_data[3]
graph_array1.append(graph_array_append1)
date_stamp1, value1 = np.loadtxt(graph_array1, delimiter=',', unpack=True,
converters={0: mdates.strpdate2num(' %Y-%m-%d %H:%M:%S')})