chart legends support up to 7 fractional digits; fixes #2573
Costa Tsaousis (ktsaou) committed
Aug 10, 2017 at 02:59 UTC
fa98f961b828e58912aefd95c067b2a66075415f
3 files changed
+24
-15
src/web_buffer_svg.c
+7
-4
@@ -389,10 +389,13 @@ static inline char *format_value_with_precision_and_unit(char *value_string, siz
389
len = snprintfz(value_string, value_string_len, "%0.0Lf", (long double) value);
390
trim_zeros = 0;
391
}
392
- else if(isgreaterequal(abs, 10)) len = snprintfz(value_string, value_string_len, "%0.1Lf", (long double) value);
393
- else if(isgreaterequal(abs, 1)) len = snprintfz(value_string, value_string_len, "%0.2Lf", (long double) value);
394
- else if(isgreaterequal(abs, 0.1)) len = snprintfz(value_string, value_string_len, "%0.2Lf", (long double) value);
395
- else len = snprintfz(value_string, value_string_len, "%0.4Lf", (long double) value);
392
+ else if(isgreaterequal(abs, 10)) len = snprintfz(value_string, value_string_len, "%0.1Lf", (long double) value);
393
+ else if(isgreaterequal(abs, 1)) len = snprintfz(value_string, value_string_len, "%0.2Lf", (long double) value);
394
+ else if(isgreaterequal(abs, 0.1)) len = snprintfz(value_string, value_string_len, "%0.2Lf", (long double) value);
395
+ else if(isgreaterequal(abs, 0.01)) len = snprintfz(value_string, value_string_len, "%0.4Lf", (long double) value);
396
+ else if(isgreaterequal(abs, 0.001)) len = snprintfz(value_string, value_string_len, "%0.5Lf", (long double) value);
397
+ else if(isgreaterequal(abs, 0.0001)) len = snprintfz(value_string, value_string_len, "%0.6Lf", (long double) value);
398
+ else len = snprintfz(value_string, value_string_len, "%0.7Lf", (long double) value);
399
400
if(unlikely(trim_zeros)) {
401
int l;
web/dashboard.js
+16
-10
@@ -2554,11 +2554,14 @@ var NETDATA = window.NETDATA || {};
2554
else
2555
delta = Math.abs(max - min);
2556
2557
- if (delta > 1000) __legendFormatValueChartDecimals = 0;
2558
- else if (delta > 10) __legendFormatValueChartDecimals = 1;
2559
- else if (delta > 1) __legendFormatValueChartDecimals = 2;
2560
- else if (delta > 0.1) __legendFormatValueChartDecimals = 2;
2561
- else __legendFormatValueChartDecimals = 4;
2557
+ if (delta > 1000) __legendFormatValueChartDecimals = 0;
2558
+ else if (delta > 10) __legendFormatValueChartDecimals = 1;
2559
+ else if (delta > 1) __legendFormatValueChartDecimals = 2;
2560
+ else if (delta > 0.1) __legendFormatValueChartDecimals = 2;
2561
+ else if (delta > 0.01) __legendFormatValueChartDecimals = 4;
2562
+ else if (delta > 0.001) __legendFormatValueChartDecimals = 5;
2563
+ else if (delta > 0.0001) __legendFormatValueChartDecimals = 6;
2564
+ else __legendFormatValueChartDecimals = 7;
2565
}
2566
2567
if(__legendFormatValueChartDecimals !== old) {
@@ -2585,11 +2588,14 @@ var NETDATA = window.NETDATA || {};
2588
else {
2589
dmin = 0;
2590
var abs = (value < 0) ? -value : value;
2588
- if (abs > 1000) dmax = 0;
2589
- else if (abs > 10) dmax = 1;
2590
- else if (abs > 1) dmax = 2;
2591
- else if (abs > 0.1) dmax = 2;
2592
- else dmax = 4;
2591
+ if (abs > 1000) dmax = 0;
2592
+ else if (abs > 10) dmax = 1;
2593
+ else if (abs > 1) dmax = 2;
2594
+ else if (abs > 0.1) dmax = 2;
2595
+ else if (abs > 0.01) dmax = 4;
2596
+ else if (abs > 0.001) dmax = 5;
2597
+ else if (abs > 0.0001) dmax = 6;
2598
+ else dmax = 7;
2599
}
2600
2601
return NETDATA.fastNumberFormat.get(dmin, dmax).format(value);
web/index.html
+1
-1
@@ -3589,4 +3589,4 @@
3589
</div>
3590
</body>
3591
</html>
3592
-<script type="text/javascript" src="dashboard.js?v20170725-1"></script>
3592
+<script type="text/javascript" src="dashboard.js?v20170810-1"></script>