mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
HeatmapNG: expand log y axis min/max config to full powers (#51472)
also fix x bucket count setting for calculate (regressed in #51089) Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
This commit is contained in:
parent
f59a4d51cd
commit
d32ec75661
@ -7071,10 +7071,10 @@ exports[`better eslint`] = {
|
|||||||
"public/app/features/transformers/calculateHeatmap/editor/helper.ts:2898656130": [
|
"public/app/features/transformers/calculateHeatmap/editor/helper.ts:2898656130": [
|
||||||
[10, 37, 3, "Unexpected any. Specify a different type.", "193409811"]
|
[10, 37, 3, "Unexpected any. Specify a different type.", "193409811"]
|
||||||
],
|
],
|
||||||
"public/app/features/transformers/calculateHeatmap/heatmap.ts:992367420": [
|
"public/app/features/transformers/calculateHeatmap/heatmap.ts:3354697941": [
|
||||||
[65, 9, 52, "Do not use any type assertions.", "3480700880"],
|
[65, 9, 52, "Do not use any type assertions.", "3480700880"],
|
||||||
[321, 63, 29, "Do not use any type assertions.", "255738422"],
|
[326, 63, 29, "Do not use any type assertions.", "255738422"],
|
||||||
[321, 89, 3, "Unexpected any. Specify a different type.", "193409811"]
|
[326, 89, 3, "Unexpected any. Specify a different type.", "193409811"]
|
||||||
],
|
],
|
||||||
"public/app/features/transformers/configFromQuery/ConfigFromQueryTransformerEditor.test.tsx:1060905279": [
|
"public/app/features/transformers/configFromQuery/ConfigFromQueryTransformerEditor.test.tsx:1060905279": [
|
||||||
[44, 29, 21, "Do not use any type assertions.", "1548027068"]
|
[44, 29, 21, "Do not use any type assertions.", "1548027068"]
|
||||||
@ -11734,29 +11734,29 @@ exports[`better eslint`] = {
|
|||||||
[87, 39, 23, "Do not use any type assertions.", "3906212682"],
|
[87, 39, 23, "Do not use any type assertions.", "3906212682"],
|
||||||
[87, 59, 3, "Unexpected any. Specify a different type.", "193409811"]
|
[87, 59, 3, "Unexpected any. Specify a different type.", "193409811"]
|
||||||
],
|
],
|
||||||
"public/app/plugins/panel/heatmap/utils.ts:215809412": [
|
"public/app/plugins/panel/heatmap/utils.ts:2227722730": [
|
||||||
[260, 23, 53, "Do not use any type assertions.", "4087268626"],
|
[260, 23, 53, "Do not use any type assertions.", "4087268626"],
|
||||||
[287, 49, 51, "Do not use any type assertions.", "4216242190"],
|
[287, 49, 51, "Do not use any type assertions.", "4216242190"],
|
||||||
[287, 49, 28, "Do not use any type assertions.", "1631991143"],
|
[287, 49, 28, "Do not use any type assertions.", "1631991143"],
|
||||||
[476, 14, 190, "Do not use any type assertions.", "4120382085"],
|
[488, 14, 190, "Do not use any type assertions.", "4120382085"],
|
||||||
[487, 14, 55, "Do not use any type assertions.", "2123957774"],
|
[499, 14, 55, "Do not use any type assertions.", "2123957774"],
|
||||||
[487, 14, 43, "Do not use any type assertions.", "3195961945"],
|
[499, 14, 43, "Do not use any type assertions.", "3195961945"],
|
||||||
[630, 19, 27, "Do not use any type assertions.", "3603045978"],
|
[642, 19, 27, "Do not use any type assertions.", "3603045978"],
|
||||||
[630, 19, 15, "Do not use any type assertions.", "3099372941"],
|
[642, 19, 15, "Do not use any type assertions.", "3099372941"],
|
||||||
[631, 19, 27, "Do not use any type assertions.", "3664280731"],
|
[643, 19, 27, "Do not use any type assertions.", "3664280731"],
|
||||||
[631, 19, 15, "Do not use any type assertions.", "2963010956"],
|
[643, 19, 15, "Do not use any type assertions.", "2963010956"],
|
||||||
[632, 23, 27, "Do not use any type assertions.", "1493467224"],
|
[644, 23, 27, "Do not use any type assertions.", "1493467224"],
|
||||||
[632, 23, 15, "Do not use any type assertions.", "2572578447"],
|
[644, 23, 15, "Do not use any type assertions.", "2572578447"],
|
||||||
[738, 25, 30, "Do not use any type assertions.", "1186575399"],
|
[750, 25, 30, "Do not use any type assertions.", "1186575399"],
|
||||||
[738, 25, 16, "Do not use any type assertions.", "1728826198"],
|
[750, 25, 16, "Do not use any type assertions.", "1728826198"],
|
||||||
[810, 22, 27, "Do not use any type assertions.", "3603045978"],
|
[822, 22, 27, "Do not use any type assertions.", "3603045978"],
|
||||||
[810, 22, 15, "Do not use any type assertions.", "3099372941"],
|
[822, 22, 15, "Do not use any type assertions.", "3099372941"],
|
||||||
[811, 22, 27, "Do not use any type assertions.", "3664280731"],
|
[823, 22, 27, "Do not use any type assertions.", "3664280731"],
|
||||||
[811, 22, 15, "Do not use any type assertions.", "2963010956"],
|
[823, 22, 15, "Do not use any type assertions.", "2963010956"],
|
||||||
[812, 22, 27, "Do not use any type assertions.", "1493467224"],
|
[824, 22, 27, "Do not use any type assertions.", "1493467224"],
|
||||||
[812, 22, 15, "Do not use any type assertions.", "2572578447"],
|
[824, 22, 15, "Do not use any type assertions.", "2572578447"],
|
||||||
[813, 23, 27, "Do not use any type assertions.", "1554701977"],
|
[825, 23, 27, "Do not use any type assertions.", "1554701977"],
|
||||||
[813, 23, 15, "Do not use any type assertions.", "2436216462"]
|
[825, 23, 15, "Do not use any type assertions.", "2436216462"]
|
||||||
],
|
],
|
||||||
"public/app/plugins/panel/histogram/Histogram.tsx:3993177092": [
|
"public/app/plugins/panel/histogram/Histogram.tsx:3993177092": [
|
||||||
[130, 31, 3, "Unexpected any. Specify a different type.", "193409811"],
|
[130, 31, 3, "Unexpected any. Specify a different type.", "193409811"],
|
||||||
|
@ -178,6 +178,9 @@
|
|||||||
"show": true
|
"show": true
|
||||||
},
|
},
|
||||||
"mode": "calculate",
|
"mode": "calculate",
|
||||||
|
"rowsFrame": {
|
||||||
|
"layout": "auto"
|
||||||
|
},
|
||||||
"tooltip": {
|
"tooltip": {
|
||||||
"show": true,
|
"show": true,
|
||||||
"yHistogram": false
|
"yHistogram": false
|
||||||
@ -189,7 +192,7 @@
|
|||||||
"yAxisLabels": "auto",
|
"yAxisLabels": "auto",
|
||||||
"yAxisReverse": false
|
"yAxisReverse": false
|
||||||
},
|
},
|
||||||
"pluginVersion": "9.0.0-pre",
|
"pluginVersion": "9.1.0-pre",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -201,7 +204,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"title": "log2",
|
"title": "log2",
|
||||||
"type": "heatmap-new"
|
"type": "heatmap"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -263,6 +266,9 @@
|
|||||||
"show": true
|
"show": true
|
||||||
},
|
},
|
||||||
"mode": "calculate",
|
"mode": "calculate",
|
||||||
|
"rowsFrame": {
|
||||||
|
"layout": "auto"
|
||||||
|
},
|
||||||
"tooltip": {
|
"tooltip": {
|
||||||
"show": true,
|
"show": true,
|
||||||
"yHistogram": false
|
"yHistogram": false
|
||||||
@ -274,7 +280,7 @@
|
|||||||
"yAxisLabels": "auto",
|
"yAxisLabels": "auto",
|
||||||
"yAxisReverse": false
|
"yAxisReverse": false
|
||||||
},
|
},
|
||||||
"pluginVersion": "9.0.0-pre",
|
"pluginVersion": "9.1.0-pre",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -286,7 +292,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"title": "log2 split 2",
|
"title": "log2 split 2",
|
||||||
"type": "heatmap-new"
|
"type": "heatmap"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -339,6 +345,9 @@
|
|||||||
"show": true
|
"show": true
|
||||||
},
|
},
|
||||||
"mode": "calculate",
|
"mode": "calculate",
|
||||||
|
"rowsFrame": {
|
||||||
|
"layout": "auto"
|
||||||
|
},
|
||||||
"tooltip": {
|
"tooltip": {
|
||||||
"show": true,
|
"show": true,
|
||||||
"yHistogram": false
|
"yHistogram": false
|
||||||
@ -350,7 +359,7 @@
|
|||||||
"yAxisLabels": "auto",
|
"yAxisLabels": "auto",
|
||||||
"yAxisReverse": false
|
"yAxisReverse": false
|
||||||
},
|
},
|
||||||
"pluginVersion": "9.0.0-pre",
|
"pluginVersion": "9.1.0-pre",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -362,7 +371,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"title": "linear",
|
"title": "linear",
|
||||||
"type": "heatmap-new"
|
"type": "heatmap"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -423,6 +432,9 @@
|
|||||||
"show": true
|
"show": true
|
||||||
},
|
},
|
||||||
"mode": "calculate",
|
"mode": "calculate",
|
||||||
|
"rowsFrame": {
|
||||||
|
"layout": "auto"
|
||||||
|
},
|
||||||
"tooltip": {
|
"tooltip": {
|
||||||
"show": true,
|
"show": true,
|
||||||
"yHistogram": false
|
"yHistogram": false
|
||||||
@ -434,7 +446,7 @@
|
|||||||
"yAxisLabels": "auto",
|
"yAxisLabels": "auto",
|
||||||
"yAxisReverse": false
|
"yAxisReverse": false
|
||||||
},
|
},
|
||||||
"pluginVersion": "9.0.0-pre",
|
"pluginVersion": "9.1.0-pre",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -446,7 +458,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"title": "log10",
|
"title": "log10",
|
||||||
"type": "heatmap-new"
|
"type": "heatmap"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -508,6 +520,9 @@
|
|||||||
"show": true
|
"show": true
|
||||||
},
|
},
|
||||||
"mode": "calculate",
|
"mode": "calculate",
|
||||||
|
"rowsFrame": {
|
||||||
|
"layout": "auto"
|
||||||
|
},
|
||||||
"tooltip": {
|
"tooltip": {
|
||||||
"show": true,
|
"show": true,
|
||||||
"yHistogram": false
|
"yHistogram": false
|
||||||
@ -519,7 +534,7 @@
|
|||||||
"yAxisLabels": "auto",
|
"yAxisLabels": "auto",
|
||||||
"yAxisReverse": false
|
"yAxisReverse": false
|
||||||
},
|
},
|
||||||
"pluginVersion": "9.0.0-pre",
|
"pluginVersion": "9.1.0-pre",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -531,12 +546,276 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"title": "log10 split 2",
|
"title": "log10 split 2",
|
||||||
"type": "heatmap-new"
|
"type": "heatmap"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "datasource",
|
||||||
|
"uid": "-- Dashboard --"
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"custom": {
|
||||||
|
"hideFrom": {
|
||||||
|
"legend": false,
|
||||||
|
"tooltip": false,
|
||||||
|
"viz": false
|
||||||
|
},
|
||||||
|
"scaleDistribution": {
|
||||||
|
"type": "linear"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
},
|
||||||
|
"gridPos": {
|
||||||
|
"h": 14,
|
||||||
|
"w": 8,
|
||||||
|
"x": 0,
|
||||||
|
"y": 28
|
||||||
|
},
|
||||||
|
"id": 10,
|
||||||
|
"options": {
|
||||||
|
"bucket": {
|
||||||
|
"layout": "auto"
|
||||||
|
},
|
||||||
|
"calculate": true,
|
||||||
|
"cellGap": 1,
|
||||||
|
"color": {
|
||||||
|
"exponent": 0.5,
|
||||||
|
"fill": "dark-orange",
|
||||||
|
"mode": "scheme",
|
||||||
|
"scale": "exponential",
|
||||||
|
"scheme": "Spectral",
|
||||||
|
"steps": 64
|
||||||
|
},
|
||||||
|
"exemplars": {
|
||||||
|
"color": "rgba(255,0,255,0.7)"
|
||||||
|
},
|
||||||
|
"filterValues": {
|
||||||
|
"le": 1e-9
|
||||||
|
},
|
||||||
|
"legend": {
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
"mode": "calculate",
|
||||||
|
"rowsFrame": {
|
||||||
|
"layout": "auto"
|
||||||
|
},
|
||||||
|
"tooltip": {
|
||||||
|
"show": true,
|
||||||
|
"yHistogram": false
|
||||||
|
},
|
||||||
|
"yAxis": {
|
||||||
|
"axisPlacement": "left",
|
||||||
|
"max": "15000",
|
||||||
|
"min": 700,
|
||||||
|
"reverse": false
|
||||||
|
},
|
||||||
|
"yAxisLabels": "auto",
|
||||||
|
"yAxisReverse": false
|
||||||
|
},
|
||||||
|
"pluginVersion": "9.1.0-pre",
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "datasource",
|
||||||
|
"uid": "-- Dashboard --"
|
||||||
|
},
|
||||||
|
"panelId": 3,
|
||||||
|
"refId": "A"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "linear (y range = 700-15k)",
|
||||||
|
"type": "heatmap"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "datasource",
|
||||||
|
"uid": "-- Dashboard --"
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"custom": {
|
||||||
|
"hideFrom": {
|
||||||
|
"legend": false,
|
||||||
|
"tooltip": false,
|
||||||
|
"viz": false
|
||||||
|
},
|
||||||
|
"scaleDistribution": {
|
||||||
|
"type": "linear"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
},
|
||||||
|
"gridPos": {
|
||||||
|
"h": 14,
|
||||||
|
"w": 8,
|
||||||
|
"x": 8,
|
||||||
|
"y": 28
|
||||||
|
},
|
||||||
|
"id": 9,
|
||||||
|
"options": {
|
||||||
|
"bucket": {
|
||||||
|
"layout": "auto"
|
||||||
|
},
|
||||||
|
"calculate": true,
|
||||||
|
"calculation": {
|
||||||
|
"yBuckets": {
|
||||||
|
"scale": {
|
||||||
|
"log": 10,
|
||||||
|
"type": "log"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cellGap": 1,
|
||||||
|
"color": {
|
||||||
|
"exponent": 0.5,
|
||||||
|
"fill": "dark-orange",
|
||||||
|
"mode": "scheme",
|
||||||
|
"scale": "exponential",
|
||||||
|
"scheme": "Spectral",
|
||||||
|
"steps": 64
|
||||||
|
},
|
||||||
|
"exemplars": {
|
||||||
|
"color": "rgba(255,0,255,0.7)"
|
||||||
|
},
|
||||||
|
"filterValues": {
|
||||||
|
"le": 1e-9
|
||||||
|
},
|
||||||
|
"legend": {
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
"mode": "calculate",
|
||||||
|
"rowsFrame": {
|
||||||
|
"layout": "auto"
|
||||||
|
},
|
||||||
|
"tooltip": {
|
||||||
|
"show": true,
|
||||||
|
"yHistogram": false
|
||||||
|
},
|
||||||
|
"yAxis": {
|
||||||
|
"axisPlacement": "left",
|
||||||
|
"max": "15000",
|
||||||
|
"min": 700,
|
||||||
|
"reverse": false
|
||||||
|
},
|
||||||
|
"yAxisLabels": "auto",
|
||||||
|
"yAxisReverse": false
|
||||||
|
},
|
||||||
|
"pluginVersion": "9.1.0-pre",
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "datasource",
|
||||||
|
"uid": "-- Dashboard --"
|
||||||
|
},
|
||||||
|
"panelId": 3,
|
||||||
|
"refId": "A"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "log10 (y range = 700-15k)",
|
||||||
|
"type": "heatmap"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "datasource",
|
||||||
|
"uid": "-- Dashboard --"
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"custom": {
|
||||||
|
"hideFrom": {
|
||||||
|
"legend": false,
|
||||||
|
"tooltip": false,
|
||||||
|
"viz": false
|
||||||
|
},
|
||||||
|
"scaleDistribution": {
|
||||||
|
"type": "linear"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
},
|
||||||
|
"gridPos": {
|
||||||
|
"h": 14,
|
||||||
|
"w": 8,
|
||||||
|
"x": 16,
|
||||||
|
"y": 28
|
||||||
|
},
|
||||||
|
"id": 11,
|
||||||
|
"options": {
|
||||||
|
"bucket": {
|
||||||
|
"layout": "auto"
|
||||||
|
},
|
||||||
|
"calculate": true,
|
||||||
|
"calculation": {
|
||||||
|
"yBuckets": {
|
||||||
|
"scale": {
|
||||||
|
"log": 10,
|
||||||
|
"type": "log"
|
||||||
|
},
|
||||||
|
"value": "2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cellGap": 1,
|
||||||
|
"color": {
|
||||||
|
"exponent": 0.5,
|
||||||
|
"fill": "dark-orange",
|
||||||
|
"mode": "scheme",
|
||||||
|
"scale": "exponential",
|
||||||
|
"scheme": "Spectral",
|
||||||
|
"steps": 64
|
||||||
|
},
|
||||||
|
"exemplars": {
|
||||||
|
"color": "rgba(255,0,255,0.7)"
|
||||||
|
},
|
||||||
|
"filterValues": {
|
||||||
|
"le": 1e-9
|
||||||
|
},
|
||||||
|
"legend": {
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
"mode": "calculate",
|
||||||
|
"rowsFrame": {
|
||||||
|
"layout": "auto"
|
||||||
|
},
|
||||||
|
"tooltip": {
|
||||||
|
"show": true,
|
||||||
|
"yHistogram": false
|
||||||
|
},
|
||||||
|
"yAxis": {
|
||||||
|
"axisPlacement": "left",
|
||||||
|
"max": "15000",
|
||||||
|
"min": 700,
|
||||||
|
"reverse": false
|
||||||
|
},
|
||||||
|
"yAxisLabels": "auto",
|
||||||
|
"yAxisReverse": false
|
||||||
|
},
|
||||||
|
"pluginVersion": "9.1.0-pre",
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "datasource",
|
||||||
|
"uid": "-- Dashboard --"
|
||||||
|
},
|
||||||
|
"panelId": 3,
|
||||||
|
"refId": "A"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "log10 split 2 (y range = 700-15k)",
|
||||||
|
"type": "heatmap"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"schemaVersion": 36,
|
"schemaVersion": 36,
|
||||||
"style": "dark",
|
"style": "dark",
|
||||||
"tags": ["gdev", "panel-tests", "graph-ng"],
|
"tags": [
|
||||||
|
"gdev",
|
||||||
|
"panel-tests",
|
||||||
|
"graph-ng"
|
||||||
|
],
|
||||||
"templating": {
|
"templating": {
|
||||||
"list": []
|
"list": []
|
||||||
},
|
},
|
||||||
@ -548,6 +827,6 @@
|
|||||||
"timezone": "",
|
"timezone": "",
|
||||||
"title": "Heatmap calculate (log)",
|
"title": "Heatmap calculate (log)",
|
||||||
"uid": "ZXYQTA97ZZ",
|
"uid": "ZXYQTA97ZZ",
|
||||||
"version": 1,
|
"version": 9,
|
||||||
"weekStart": ""
|
"weekStart": ""
|
||||||
}
|
}
|
||||||
|
@ -316,7 +316,12 @@ export function calculateHeatmapFromData(frames: DataFrame[], options: HeatmapCa
|
|||||||
xSorted: true,
|
xSorted: true,
|
||||||
xTime: xField.type === FieldType.time,
|
xTime: xField.type === FieldType.time,
|
||||||
xMode: xBucketsCfg.mode,
|
xMode: xBucketsCfg.mode,
|
||||||
xSize: durationToMilliseconds(parseDuration(xBucketsCfg.value ?? '')),
|
xSize:
|
||||||
|
xBucketsCfg.mode === HeatmapCalculationMode.Size
|
||||||
|
? durationToMilliseconds(parseDuration(xBucketsCfg.value ?? ''))
|
||||||
|
: xBucketsCfg.value
|
||||||
|
? +xBucketsCfg.value
|
||||||
|
: undefined,
|
||||||
yMode: yBucketsCfg.mode,
|
yMode: yBucketsCfg.mode,
|
||||||
ySize: yBucketsCfg.value ? +yBucketsCfg.value : undefined,
|
ySize: yBucketsCfg.value ? +yBucketsCfg.value : undefined,
|
||||||
yLog: scaleDistribution?.type === ScaleDistribution.Log ? (scaleDistribution?.log as any) : undefined,
|
yLog: scaleDistribution?.type === ScaleDistribution.Log ? (scaleDistribution?.log as any) : undefined,
|
||||||
|
@ -289,15 +289,21 @@ export function prepConfig(opts: PrepConfigOpts) {
|
|||||||
: [dataMin, dataMax];
|
: [dataMin, dataMax];
|
||||||
|
|
||||||
if (shouldUseLogScale && !isOrdianalY) {
|
if (shouldUseLogScale && !isOrdianalY) {
|
||||||
|
let yExp = u.scales[yScaleKey].log!;
|
||||||
|
let log = yExp === 2 ? Math.log2 : Math.log10;
|
||||||
|
|
||||||
let { min: explicitMin, max: explicitMax } = yAxisConfig;
|
let { min: explicitMin, max: explicitMax } = yAxisConfig;
|
||||||
|
|
||||||
// guard against <= 0
|
// guard against <= 0
|
||||||
if (explicitMin != null && explicitMin > 0) {
|
if (explicitMin != null && explicitMin > 0) {
|
||||||
scaleMin = explicitMin;
|
// snap to magnitude
|
||||||
|
let minLog = log(explicitMin);
|
||||||
|
scaleMin = yExp ** incrRoundDn(minLog, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (explicitMax != null && explicitMax > 0) {
|
if (explicitMax != null && explicitMax > 0) {
|
||||||
scaleMax = explicitMax;
|
let maxLog = log(explicitMax);
|
||||||
|
scaleMax = yExp ** incrRoundUp(maxLog, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -305,6 +311,9 @@ export function prepConfig(opts: PrepConfigOpts) {
|
|||||||
}
|
}
|
||||||
: // dense and ordinal only have one of yMin|yMax|y, so expand range by one cell in the direction of le/ge/unknown
|
: // dense and ordinal only have one of yMin|yMax|y, so expand range by one cell in the direction of le/ge/unknown
|
||||||
(u, dataMin, dataMax) => {
|
(u, dataMin, dataMax) => {
|
||||||
|
let scaleMin = dataMin,
|
||||||
|
scaleMax = dataMax;
|
||||||
|
|
||||||
let { min: explicitMin, max: explicitMax } = yAxisConfig;
|
let { min: explicitMin, max: explicitMax } = yAxisConfig;
|
||||||
|
|
||||||
// logarithmic expansion
|
// logarithmic expansion
|
||||||
@ -314,44 +323,47 @@ export function prepConfig(opts: PrepConfigOpts) {
|
|||||||
let minExpanded = false;
|
let minExpanded = false;
|
||||||
let maxExpanded = false;
|
let maxExpanded = false;
|
||||||
|
|
||||||
if (ySizeDivisor !== 1) {
|
let log = yExp === 2 ? Math.log2 : Math.log10;
|
||||||
let log = yExp === 2 ? Math.log2 : Math.log10;
|
|
||||||
|
|
||||||
|
if (ySizeDivisor !== 1) {
|
||||||
let minLog = log(dataMin);
|
let minLog = log(dataMin);
|
||||||
let maxLog = log(dataMax);
|
let maxLog = log(dataMax);
|
||||||
|
|
||||||
if (!Number.isInteger(minLog)) {
|
if (!Number.isInteger(minLog)) {
|
||||||
dataMin = yExp ** incrRoundDn(minLog, 1);
|
scaleMin = yExp ** incrRoundDn(minLog, 1);
|
||||||
minExpanded = true;
|
minExpanded = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Number.isInteger(maxLog)) {
|
if (!Number.isInteger(maxLog)) {
|
||||||
dataMax = yExp ** incrRoundUp(maxLog, 1);
|
scaleMax = yExp ** incrRoundUp(maxLog, 1);
|
||||||
maxExpanded = true;
|
maxExpanded = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dataRef.current?.yLayout === HeatmapCellLayout.le) {
|
if (dataRef.current?.yLayout === HeatmapCellLayout.le) {
|
||||||
if (!minExpanded) {
|
if (!minExpanded) {
|
||||||
dataMin /= yExp;
|
scaleMin /= yExp;
|
||||||
}
|
}
|
||||||
} else if (dataRef.current?.yLayout === HeatmapCellLayout.ge) {
|
} else if (dataRef.current?.yLayout === HeatmapCellLayout.ge) {
|
||||||
if (!maxExpanded) {
|
if (!maxExpanded) {
|
||||||
dataMax *= yExp;
|
scaleMax *= yExp;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
dataMin /= yExp / 2;
|
scaleMin /= yExp / 2;
|
||||||
dataMax *= yExp / 2;
|
scaleMax *= yExp / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isOrdianalY) {
|
if (!isOrdianalY) {
|
||||||
// guard against <= 0
|
// guard against <= 0
|
||||||
if (explicitMin != null && explicitMin > 0) {
|
if (explicitMin != null && explicitMin > 0) {
|
||||||
dataMin = explicitMin;
|
// snap down to magnitude
|
||||||
|
let minLog = log(explicitMin);
|
||||||
|
scaleMin = yExp ** incrRoundDn(minLog, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (explicitMax != null && explicitMax > 0) {
|
if (explicitMax != null && explicitMax > 0) {
|
||||||
dataMax = explicitMax;
|
let maxLog = log(explicitMax);
|
||||||
|
scaleMax = yExp ** incrRoundUp(maxLog, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -365,24 +377,24 @@ export function prepConfig(opts: PrepConfigOpts) {
|
|||||||
|
|
||||||
if (bucketSize) {
|
if (bucketSize) {
|
||||||
if (dataRef.current?.yLayout === HeatmapCellLayout.le) {
|
if (dataRef.current?.yLayout === HeatmapCellLayout.le) {
|
||||||
dataMin -= bucketSize!;
|
scaleMin -= bucketSize!;
|
||||||
} else if (dataRef.current?.yLayout === HeatmapCellLayout.ge) {
|
} else if (dataRef.current?.yLayout === HeatmapCellLayout.ge) {
|
||||||
dataMax += bucketSize!;
|
scaleMax += bucketSize!;
|
||||||
} else {
|
} else {
|
||||||
dataMin -= bucketSize! / 2;
|
scaleMin -= bucketSize! / 2;
|
||||||
dataMax += bucketSize! / 2;
|
scaleMax += bucketSize! / 2;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// how to expand scale range if inferred non-regular or log buckets?
|
// how to expand scale range if inferred non-regular or log buckets?
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isOrdianalY) {
|
if (!isOrdianalY) {
|
||||||
dataMin = explicitMin ?? dataMin;
|
scaleMin = explicitMin ?? scaleMin;
|
||||||
dataMax = explicitMax ?? dataMax;
|
scaleMax = explicitMax ?? scaleMax;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return [dataMin, dataMax];
|
return [scaleMin, scaleMax];
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user