我正在使用纪录时间为我的x轴绘制实时图表,但是你可以从这个截图中看到
这不完全是人类可读的。绿线是当前活动,红线代表历史。我的图表的数据每秒从其他地方输入,只要值介于0到100之间,您就可以绘制任何您想要的内容(除非您更改ymin
和ymax
class CPUGraph(Graph):
"""Graph to show CPU data over time"""
def __init__(self, **kwargs):
super(CPUGraph, self).__init__(**kwargs)
self.start_time = int(time.time())
self.window_res = 300 # In seconds
self.xlabel= "Time"
self.ylabel = "CPU Usage (%)"
self.y_ticks_major = 10
self.y_grid_label = True
self.x_grid_label = True
self.x_grid = True
self.y_grid = True
self.padding = 10
self.xmin = self.start_time
self.xmax = self.start_time + self.window_res
self.x_ticks_major = self.window_res/10
self.ymin = 0
self.ymax = 100
self.tick_color = 1, 1, 1, 1
self.background_color = 0.35, 0.35, 0.35, 1
self.draw_border = False
self.label_options = {'color': [1, 1, 1, 1]}
self.data = []
self.cpu_usage = LinePlot(color=[1, 0.1, 0.1, 0.85], line_width=2)
self.current_usage = LinePlot(color=[0, 1, 0, 1], line_width=2)
self.add_plot(self.current_usage)
self.add_plot(self.cpu_usage)
def update_plot(self, data_point):
"""Update plot with list of currently collected data"""
if len(self.data) > (self.window_res * 0.95):
self.xmax += 1
self.xmin += 1
self.data.append(data_point)
self.cpu_usage.points = [((x + self.start_time), y) for x, y in enumerate(self.data)]
self.current_usage.points = [(x, data_point) for x in range(self.xmin, self.xmax + 1)]