diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/controlPanel.tsx
index 8161b321671..1f59af3d1d5 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/controlPanel.tsx
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/controlPanel.tsx
@@ -34,6 +34,7 @@ import { DEFAULT_FORM_DATA } from './types';
import { EchartsTimeseriesSeriesType } from '../Timeseries/types';
import {
legendSection,
+ minorTicks,
richTooltipSection,
truncateXAxis,
xAxisBounds,
@@ -316,6 +317,7 @@ const config: ControlPanelConfig = {
},
},
],
+ [minorTicks],
...legendSection,
[{t('X Axis')}],
['x_axis_time_format'],
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts b/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts
index 763bbd1f95d..8709286aeed 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts
@@ -158,6 +158,7 @@ export default function transformProps(
opacity,
opacityB,
minorSplitLine,
+ minorTicks,
seriesType,
seriesTypeB,
showLegend,
@@ -497,6 +498,7 @@ export default function transformProps(
formatter: xAxisFormatter,
rotate: xAxisLabelRotation,
},
+ minorTick: { show: minorTicks },
minInterval:
xAxisType === 'time' && timeGrainSqla
? TIMEGRAIN_TO_TIMESTAMP[timeGrainSqla]
@@ -518,7 +520,7 @@ export default function transformProps(
type: logAxis ? 'log' : 'value',
min: yAxisMin,
max: yAxisMax,
- minorTick: { show: true },
+ minorTick: { show: minorTicks },
minorSplitLine: { show: minorSplitLine },
axisLabel: {
formatter: getYAxisFormatter(
@@ -539,7 +541,7 @@ export default function transformProps(
type: logAxisSecondary ? 'log' : 'value',
min: minSecondary,
max: maxSecondary,
- minorTick: { show: true },
+ minorTick: { show: minorTicks },
splitLine: { show: false },
minorSplitLine: { show: minorSplitLine },
axisLabel: {
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/types.ts b/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/types.ts
index 2e9ba641aa5..c027ed7ac4f 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/types.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/types.ts
@@ -45,6 +45,7 @@ export type EchartsMixedTimeseriesFormData = QueryFormData & {
annotationLayers: AnnotationLayer[];
// shared properties
minorSplitLine: boolean;
+ minorTicks: boolean;
logAxis: boolean;
logAxisSecondary: boolean;
yAxisFormat?: string;
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Area/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Area/controlPanel.tsx
index 018038772c0..1a5704d20a4 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Area/controlPanel.tsx
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Area/controlPanel.tsx
@@ -39,6 +39,7 @@ import {
percentageThresholdControl,
truncateXAxis,
xAxisBounds,
+ minorTicks,
} from '../../controls';
import { AreaChartStackControlOptions } from '../../constants';
@@ -169,6 +170,7 @@ const config: ControlPanelConfig = {
},
},
],
+ [minorTicks],
[
{
name: 'zoomable',
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Bar/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Bar/controlPanel.tsx
index c3002a24980..6ab3f640979 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Bar/controlPanel.tsx
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Bar/controlPanel.tsx
@@ -32,6 +32,7 @@ import {
} from '@superset-ui/chart-controls';
import {
legendSection,
+ minorTicks,
richTooltipSection,
seriesOrderSection,
showValueSection,
@@ -312,6 +313,7 @@ const config: ControlPanelConfig = {
...seriesOrderSection,
['color_scheme'],
...showValueSection,
+ [minorTicks],
[
{
name: 'zoomable',
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/controlPanel.tsx
index 5c5f7a0ab1c..7409098a846 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/controlPanel.tsx
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/controlPanel.tsx
@@ -35,6 +35,7 @@ import {
} from '../../constants';
import {
legendSection,
+ minorTicks,
richTooltipSection,
seriesOrderSection,
showValueSection,
@@ -169,6 +170,7 @@ const config: ControlPanelConfig = {
},
},
],
+ [minorTicks],
...legendSection,
[{t('X Axis')}],
[
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/controlPanel.tsx
index 6701647694b..d6e2cda5330 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/controlPanel.tsx
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/controlPanel.tsx
@@ -34,6 +34,7 @@ import {
} from '../../constants';
import {
legendSection,
+ minorTicks,
richTooltipSection,
seriesOrderSection,
showValueSection,
@@ -111,6 +112,7 @@ const config: ControlPanelConfig = {
},
},
],
+ [minorTicks],
...legendSection,
[{t('X Axis')}],
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/controlPanel.tsx
index 0c6623f216e..aedc538969e 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/controlPanel.tsx
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/controlPanel.tsx
@@ -34,6 +34,7 @@ import {
} from '../../constants';
import {
legendSection,
+ minorTicks,
richTooltipSection,
seriesOrderSection,
showValueSectionWithoutStack,
@@ -111,6 +112,7 @@ const config: ControlPanelConfig = {
},
},
],
+ [minorTicks],
...legendSection,
[{t('X Axis')}],
[
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx
index 021c306d05c..99f304da78a 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx
@@ -32,6 +32,7 @@ import { EchartsTimeseriesSeriesType } from '../../types';
import { DEFAULT_FORM_DATA, TIME_SERIES_DESCRIPTION_TEXT } from '../constants';
import {
legendSection,
+ minorTicks,
richTooltipSection,
seriesOrderSection,
showValueSection,
@@ -163,6 +164,7 @@ const config: ControlPanelConfig = {
},
},
],
+ [minorTicks],
...legendSection,
[{t('X Axis')}],
[
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts
index cc89ff30c77..63a4cb93735 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts
@@ -144,6 +144,7 @@ export default function transformProps(
markerSize,
metrics,
minorSplitLine,
+ minorTicks,
onlyTotal,
opacity,
orientation,
@@ -454,6 +455,7 @@ export default function transformProps(
formatter: xAxisFormatter,
rotate: xAxisLabelRotation,
},
+ minorTick: { show: minorTicks },
minInterval:
xAxisType === AxisType.time && timeGrainSqla
? TIMEGRAIN_TO_TIMESTAMP[timeGrainSqla]
@@ -472,7 +474,7 @@ export default function transformProps(
type: logAxis ? AxisType.log : AxisType.value,
min: yAxisMin,
max: yAxisMax,
- minorTick: { show: true },
+ minorTick: { show: minorTicks },
minorSplitLine: { show: minorSplitLine },
axisLabel: {
formatter: getYAxisFormatter(
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/types.ts b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/types.ts
index 65da981e496..751f262ec17 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/types.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/types.ts
@@ -68,6 +68,7 @@ export type EchartsTimeseriesFormData = QueryFormData & {
markerSize: number;
metrics: QueryFormMetric[];
minorSplitLine: boolean;
+ minorTicks: boolean;
opacity: number;
orderDesc: boolean;
rowLimit: number;
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/controls.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/controls.tsx
index 093617446a6..e87b68d9ce7 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/controls.tsx
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/controls.tsx
@@ -279,3 +279,14 @@ export const xAxisBounds: ControlSetItem = {
Boolean(controls?.truncateXAxis?.value),
},
};
+
+export const minorTicks: ControlSetItem = {
+ name: 'minorTicks',
+ config: {
+ type: 'CheckboxControl',
+ label: t('Minor ticks'),
+ default: false,
+ renderTrigger: true,
+ description: t('Show minor ticks on axes.'),
+ },
+};