mirror of
https://github.com/apache/superset.git
synced 2024-09-12 08:39:45 -04:00
add annotation option and a linear color map for heatmap viz. (#3634)
* add annotation option and a linear color map for heatmap viz. * error fixes. * fixes for requested changes
This commit is contained in:
parent
ca67a7a4e9
commit
5ad4167512
@ -202,6 +202,7 @@ export const controls = {
|
|||||||
['blue_white_yellow', 'blue/white/yellow'],
|
['blue_white_yellow', 'blue/white/yellow'],
|
||||||
['white_black', 'white/black'],
|
['white_black', 'white/black'],
|
||||||
['black_white', 'black/white'],
|
['black_white', 'black/white'],
|
||||||
|
['dark_blue', 'light/dark blue'],
|
||||||
],
|
],
|
||||||
default: 'blue_white_yellow',
|
default: 'blue_white_yellow',
|
||||||
clearable: false,
|
clearable: false,
|
||||||
@ -1086,6 +1087,14 @@ export const controls = {
|
|||||||
description: t('Whether to display the legend (toggles)'),
|
description: t('Whether to display the legend (toggles)'),
|
||||||
},
|
},
|
||||||
|
|
||||||
|
show_values: {
|
||||||
|
type: 'CheckboxControl',
|
||||||
|
label: t('Show Values'),
|
||||||
|
renderTrigger: true,
|
||||||
|
default: false,
|
||||||
|
description: t('Whether to display the numerical values within the cells'),
|
||||||
|
},
|
||||||
|
|
||||||
x_axis_showminmax: {
|
x_axis_showminmax: {
|
||||||
type: 'CheckboxControl',
|
type: 'CheckboxControl',
|
||||||
label: t('X bounds'),
|
label: t('X bounds'),
|
||||||
|
@ -976,6 +976,7 @@ export const visTypes = {
|
|||||||
['left_margin', 'bottom_margin'],
|
['left_margin', 'bottom_margin'],
|
||||||
['y_axis_bounds', 'y_axis_format'],
|
['y_axis_bounds', 'y_axis_format'],
|
||||||
['show_legend', 'show_perc'],
|
['show_legend', 'show_perc'],
|
||||||
|
['show_values'],
|
||||||
['sort_x_axis', 'sort_y_axis'],
|
['sort_x_axis', 'sort_y_axis'],
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@ -94,6 +94,13 @@ export const spectrums = {
|
|||||||
'black',
|
'black',
|
||||||
'white',
|
'white',
|
||||||
],
|
],
|
||||||
|
dark_blue: [
|
||||||
|
'#EBF5F8',
|
||||||
|
'#6BB1CC',
|
||||||
|
'#357E9B',
|
||||||
|
'#1B4150',
|
||||||
|
'#092935',
|
||||||
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getColorFromScheme = (function () {
|
export const getColorFromScheme = (function () {
|
||||||
|
@ -130,6 +130,24 @@ function heatmapVis(slice, payload) {
|
|||||||
.attr('height', height)
|
.attr('height', height)
|
||||||
.style('position', 'relative');
|
.style('position', 'relative');
|
||||||
|
|
||||||
|
if (fd.show_values) {
|
||||||
|
const cells = svg.selectAll('rect')
|
||||||
|
.data(data)
|
||||||
|
.enter()
|
||||||
|
.append('g')
|
||||||
|
.attr('transform', `translate(${margin.left}, ${margin.top})`);
|
||||||
|
|
||||||
|
cells.append('text')
|
||||||
|
.attr('transform', d => `translate(${xRbScale(d.x)}, ${yRbScale(d.y)})`)
|
||||||
|
.attr('y', yRbScale.rangeBand() / 2)
|
||||||
|
.attr('x', xRbScale.rangeBand() / 2)
|
||||||
|
.attr('text-anchor', 'middle')
|
||||||
|
.attr('dy', '.35em')
|
||||||
|
.text(d => valueFormatter(d.v))
|
||||||
|
.attr('font-size', Math.min(yRbScale.rangeBand(), xRbScale.rangeBand()) / 3 + 'px')
|
||||||
|
.attr('fill', d => d.v >= payload.data.extents[1] / 2 ? 'white' : 'black');
|
||||||
|
}
|
||||||
|
|
||||||
if (fd.show_legend) {
|
if (fd.show_legend) {
|
||||||
const legendScaler = colorScalerFactory(
|
const legendScaler = colorScalerFactory(
|
||||||
fd.linear_color_scheme, null, null, payload.data.extents);
|
fd.linear_color_scheme, null, null, payload.data.extents);
|
||||||
|
Loading…
Reference in New Issue
Block a user