sparkline
微线图,即用一个一个信息点形成的图,类似于折线图。在表示时延的时候,就可以用微线图的形式来表示。
示例:
微线图中的信息点可以有两种形式:”_-`” 和 “_o#”
两种情况最后形成的微线图分别如下所示:
可以看到,用一个一个的信息点,非常形象明了的形成了所需的折线图
sparkline的实现
sparkline中每个信息点的定义为:
struct sample {
double value;
char *label;
};
value为该点的值
label为名称
而最终的微线图就是通过这样的信息点序列来实现的
struct sequence {
int length;
int labels;
struct sample *samples;
double min, max;
};
- length:序列中的样点数
- labels:序列中所有有标签的样点数
- samples:数组,为组成微线图的样点集
- min:所有样点中的最小值
- max:所有样点中的最大值
创建一个微线图序列
struct sequence *createSparklineSequence(void) {
struct sequence *seq = zmalloc(si