/** * Copyright (c) 2017 ~ present NAVER Corp. * billboard.js project is licensed under the MIT license */ import type {ChartTypes} from "../../../../types/types"; /** * x Axis config options */ export default { /** * Set subchart options. * - **NOTE:** Not supported for non-Axis based(pie, donut, gauge, radar) types. * @name subchart * @memberof Options * @type {object} * @property {object} subchart Subchart object * @property {boolean} [subchart.show=false] Show sub chart on the bottom of the chart. * - **NOTE:** for ESM imports, needs to import 'subchart' exports and instantiate it by calling `subchart()`. * - `show: subchart()` * @property {string} [subchart.type] Set chart type for the subchart. Defaults to data.type. * @property {object} [subchart.types] Set chart type for each data in the subchart. Defaults to data.types. * @property {boolean} [subchart.brush.enabled=true] Enable subchart brush interaction. * @property {boolean} [subchart.showHandle=false] Show sub chart's handle. * @property {boolean|object} [subchart.grid.focus=true] Show x focus grid line in subchart when subchart brush is disabled. * @property {boolean} [subchart.grid.focus.continuous=false] Render x focus grid line as one continuous line across main chart and subchart when subchart brush is disabled. * @property {boolean} [subchart.axis.x.show=true] Show or hide x axis. * @property {boolean} [subchart.axis.x.tick.show=true] Show or hide x axis tick line. * @property {number} [subchart.axis.x.tick.count] Set the number of x axis ticks. * @property {Array|function} [subchart.axis.x.tick.values] Set x axis tick values manually. * @property {boolean|object} [subchart.axis.x.tick.culling] Setting for culling x axis ticks. * @property {number} [subchart.axis.x.tick.culling.max] The number of x axis tick texts will be adjusted to less than this value. * @property {boolean} [subchart.axis.x.tick.culling.lines=true] Control x axis tick line visibility within culling option. * @property {boolean} [subchart.axis.x.tick.culling.reverse=false] Control x axis culling start point to be reversed. * @property {boolean} [subchart.axis.x.tick.outer] Show or hide x axis outer tick. * @property {function|string} [subchart.axis.x.tick.format] Use custom format for x axis ticks - see [axis.x.tick.format](#.axis․x․tick․format) for details. * @property {boolean} [subchart.axis.x.tick.text.show=true] Show or hide x axis tick text. * @property {boolean} [subchart.axis.y.show=false] Show or hide y axis. * @property {boolean} [subchart.axis.y.tick.show=true] Show or hide y axis tick line. * @property {number} [subchart.axis.y.tick.count] Set the number of y axis ticks. * @property {Array|function} [subchart.axis.y.tick.values] Set y axis tick values manually. * @property {boolean|object} [subchart.axis.y.tick.culling] Setting for culling y axis ticks. * @property {number} [subchart.axis.y.tick.culling.max] The number of y axis tick texts will be adjusted to less than this value. * @property {boolean} [subchart.axis.y.tick.culling.lines=true] Control y axis tick line visibility within culling option. * @property {boolean} [subchart.axis.y.tick.culling.reverse=false] Control y axis culling start point to be reversed. * @property {boolean} [subchart.axis.y.tick.outer] Show or hide y axis outer tick. * @property {function|string} [subchart.axis.y.tick.format] Use custom format for y axis ticks - see [axis.y.tick.format](#.axis․y․tick․format) for details. * @property {boolean} [subchart.axis.y.tick.text.show=true] Show or hide y axis tick text. * @property {boolean} [subchart.axis.y2.show=false] Show or hide y2 axis. * @property {boolean} [subchart.axis.y2.tick.show=true] Show or hide y2 axis tick line. * @property {number} [subchart.axis.y2.tick.count] Set the number of y2 axis ticks. * @property {Array|function} [subchart.axis.y2.tick.values] Set y2 axis tick values manually. * @property {boolean|object} [subchart.axis.y2.tick.culling] Setting for culling y2 axis ticks. * @property {number} [subchart.axis.y2.tick.culling.max] The number of y2 axis tick texts will be adjusted to less than this value. * @property {boolean} [subchart.axis.y2.tick.culling.lines=true] Control y2 axis tick line visibility within culling option. * @property {boolean} [subchart.axis.y2.tick.culling.reverse=false] Control y2 axis culling start point to be reversed. * @property {boolean} [subchart.axis.y2.tick.outer] Show or hide y2 axis outer tick. * @property {function|string} [subchart.axis.y2.tick.format] Use custom format for y2 axis ticks - see [axis.y2.tick.format](#.axis․y2․tick․format) for details. * @property {boolean} [subchart.axis.y2.tick.text.show=true] Show or hide y2 axis tick text. * @property {Array} [subchart.init.range] Set initial selection domain range. * @property {number} [subchart.size.height] Change the height of the subchart. * @property {function} [subchart.onbrush] Set callback for brush event.
* Specified function receives the current zoomed x domain. * @see [Demo](https://naver.github.io/billboard.js/demo/#Interaction.SubChart) * @example * subchart: { * show: true, * showHandle: true, * * // render the overview with a different chart type than the main chart * type: "bar", * * // override the type per data series * types: { * data2: "area" * }, * size: { * height: 20 * }, * brush: { * // disable brush(zoom) interaction, rendering the subchart as a static overview * enabled: false * }, * grid: { * // set false to hide focus grid line in subchart * // focus: false, * focus: { * // NOTE: works only when 'brush.enabled=false' * continuous: true * } * }, * init: { * // specify initial range domain selection * range: [1, 2] * }, * axis: { * x: { * show: true, * tick: { * show: true, * format: (x) => d3Format(".1f")(x) * text: { * show: false * } * } * }, * y: { * show: true, * tick: { * count: 3 * } * } * }, * onbrush: function(domain) { ... } * } * @example * // importing ESM * import bb, {subchart} from "billboard.js"; * * subchart: { * show: subchart(), * ... * } */ subchart_show: false, subchart_type: undefined, subchart_types: >{}, subchart_brush_enabled: true, subchart_showHandle: false, subchart_size_height: 60, subchart_grid_focus: true, subchart_grid_focus_continuous: false, subchart_axis_x_show: true, subchart_axis_x_tick_show: true, subchart_axis_x_tick_count: undefined, subchart_axis_x_tick_values: <(string | Date | number)[] | (() => (string | Date | number)[]) | undefined>undefined, subchart_axis_x_tick_culling: undefined, subchart_axis_x_tick_culling_max: undefined, subchart_axis_x_tick_culling_lines: undefined, subchart_axis_x_tick_culling_reverse: undefined, subchart_axis_x_tick_outer: undefined, subchart_axis_x_tick_format: undefined, subchart_axis_x_tick_text_show: true, subchart_axis_y_show: false, subchart_axis_y_tick_show: true, subchart_axis_y_tick_count: undefined, subchart_axis_y_tick_values: number[]) | undefined>undefined, subchart_axis_y_tick_culling: undefined, subchart_axis_y_tick_culling_max: undefined, subchart_axis_y_tick_culling_lines: undefined, subchart_axis_y_tick_culling_reverse: undefined, subchart_axis_y_tick_outer: undefined, subchart_axis_y_tick_format: undefined, subchart_axis_y_tick_text_show: true, subchart_axis_y2_show: false, subchart_axis_y2_tick_show: true, subchart_axis_y2_tick_count: undefined, subchart_axis_y2_tick_values: number[]) | undefined>undefined, subchart_axis_y2_tick_culling: undefined, subchart_axis_y2_tick_culling_max: undefined, subchart_axis_y2_tick_culling_lines: undefined, subchart_axis_y2_tick_culling_reverse: undefined, subchart_axis_y2_tick_outer: undefined, subchart_axis_y2_tick_format: undefined, subchart_axis_y2_tick_text_show: true, subchart_init_range: undefined, subchart_onbrush: () => {} };