| /* | |
| * Licensed to the Apache Software Foundation (ASF) under one | |
| * or more contributor license agreements. See the NOTICE file | |
| * distributed with this work for additional information | |
| * regarding copyright ownership. The ASF licenses this file | |
| * to you under the Apache License, Version 2.0 (the | |
| * "License"); you may not use this file except in compliance | |
| * with the License. You may obtain a copy of the License at | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * Unless required by applicable law or agreed to in writing, | |
| * software distributed under the License is distributed on an | |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
| * KIND, either express or implied. See the License for the | |
| * specific language governing permissions and limitations | |
| * under the License. | |
| */ | |
| import * as zrUtil from 'zrender/src/core/util'; | |
| import { AxisBaseOption } from './axisCommonTypes'; | |
| const defaultOption: AxisBaseOption = { | |
| show: true, | |
| // zlevel: 0, | |
| z: 0, | |
| // Inverse the axis. | |
| inverse: false, | |
| // Axis name displayed. | |
| name: '', | |
| // 'start' | 'middle' | 'end' | |
| nameLocation: 'end', | |
| // By degree. By default auto rotate by nameLocation. | |
| nameRotate: null, | |
| nameTruncate: { | |
| maxWidth: null, | |
| ellipsis: '...', | |
| placeholder: '.' | |
| }, | |
| // Use global text style by default. | |
| nameTextStyle: {}, | |
| // The gap between axisName and axisLine. | |
| nameGap: 15, | |
| // Default `false` to support tooltip. | |
| silent: false, | |
| // Default `false` to avoid legacy user event listener fail. | |
| triggerEvent: false, | |
| tooltip: { | |
| show: false | |
| }, | |
| axisPointer: {}, | |
| axisLine: { | |
| show: true, | |
| onZero: true, | |
| onZeroAxisIndex: null, | |
| lineStyle: { | |
| color: '#6E7079', | |
| width: 1, | |
| type: 'solid' | |
| }, | |
| // The arrow at both ends the the axis. | |
| symbol: ['none', 'none'], | |
| symbolSize: [10, 15] | |
| }, | |
| axisTick: { | |
| show: true, | |
| // Whether axisTick is inside the grid or outside the grid. | |
| inside: false, | |
| // The length of axisTick. | |
| length: 5, | |
| lineStyle: { | |
| width: 1 | |
| } | |
| }, | |
| axisLabel: { | |
| show: true, | |
| // Whether axisLabel is inside the grid or outside the grid. | |
| inside: false, | |
| rotate: 0, | |
| // true | false | null/undefined (auto) | |
| showMinLabel: null, | |
| // true | false | null/undefined (auto) | |
| showMaxLabel: null, | |
| margin: 8, | |
| // formatter: null, | |
| fontSize: 12 | |
| }, | |
| splitLine: { | |
| show: true, | |
| lineStyle: { | |
| color: ['#E0E6F1'], | |
| width: 1, | |
| type: 'solid' | |
| } | |
| }, | |
| splitArea: { | |
| show: false, | |
| areaStyle: { | |
| color: ['rgba(250,250,250,0.2)', 'rgba(210,219,238,0.2)'] | |
| } | |
| } | |
| }; | |
| const categoryAxis: AxisBaseOption = zrUtil.merge({ | |
| // The gap at both ends of the axis. For categoryAxis, boolean. | |
| boundaryGap: true, | |
| // Set false to faster category collection. | |
| deduplication: null, | |
| // splitArea: { | |
| // show: false | |
| // }, | |
| splitLine: { | |
| show: false | |
| }, | |
| axisTick: { | |
| // If tick is align with label when boundaryGap is true | |
| alignWithLabel: false, | |
| interval: 'auto' | |
| }, | |
| axisLabel: { | |
| interval: 'auto' | |
| } | |
| }, defaultOption); | |
| const valueAxis: AxisBaseOption = zrUtil.merge({ | |
| boundaryGap: [0, 0], | |
| axisLine: { | |
| // Not shown when other axis is categoryAxis in cartesian | |
| show: 'auto' | |
| }, | |
| axisTick: { | |
| // Not shown when other axis is categoryAxis in cartesian | |
| show: 'auto' | |
| }, | |
| // TODO | |
| // min/max: [30, datamin, 60] or [20, datamin] or [datamin, 60] | |
| splitNumber: 5, | |
| minorTick: { | |
| // Minor tick, not available for cateogry axis. | |
| show: false, | |
| // Split number of minor ticks. The value should be in range of (0, 100) | |
| splitNumber: 5, | |
| // Length of minor tick | |
| length: 3, | |
| // Line style | |
| lineStyle: { | |
| // Default to be same with axisTick | |
| } | |
| }, | |
| minorSplitLine: { | |
| show: false, | |
| lineStyle: { | |
| color: '#F4F7FD', | |
| width: 1 | |
| } | |
| } | |
| }, defaultOption); | |
| const timeAxis: AxisBaseOption = zrUtil.merge({ | |
| splitNumber: 6, | |
| axisLabel: { | |
| // To eliminate labels that are not nice | |
| showMinLabel: false, | |
| showMaxLabel: false, | |
| rich: { | |
| primary: { | |
| fontWeight: 'bold' | |
| } | |
| } | |
| }, | |
| splitLine: { | |
| show: false | |
| } | |
| }, valueAxis); | |
| const logAxis: AxisBaseOption = zrUtil.defaults({ | |
| logBase: 10 | |
| }, valueAxis); | |
| export default { | |
| category: categoryAxis, | |
| value: valueAxis, | |
| time: timeAxis, | |
| log: logAxis | |
| }; |