| | |
| | | _data = [..._mdata.values()] |
| | | } |
| | | |
| | | if (plot.correction && plot.chartType === 'bar' && _data.length > 0 && _data.length < plot.correction) { |
| | | if (plot.enabled !== 'true' || (plot.customs && plot.customs.filter(cell => cell.chartType !== 'bar').length === 0)) { |
| | | let _num = plot.correction - _data.length |
| | | for (let i = 0; i < _num; i++) { |
| | | let _val = Array( i + 2 ).join(' ') |
| | | let _cell = {} |
| | | _cell[plot.Xaxis] = _val |
| | | _columns.forEach(col => { |
| | | _cell[col.field] = '' |
| | | }) |
| | | |
| | | _data.push(_cell) |
| | | } |
| | | } |
| | | } |
| | | |
| | | this.setState({empty: _data.length === 0}) |
| | | return _data |
| | | } |
| | |
| | | let _chart = chart |
| | | .interval() |
| | | .position(`${plot.Xaxis}*${_valfield}`) |
| | | .size(30) |
| | | .color(_typefield) |
| | | .adjust([ |
| | | { |
| | |
| | | let _chart = chart |
| | | .interval() |
| | | .position(`${plot.Xaxis}*${_valfield}`) |
| | | .size(30) |
| | | .color(_typefield) |
| | | .adjust('stack') |
| | | .shape(plot.shape || 'rect') |
| | |
| | | } |
| | | }) |
| | | |
| | | if (plot.label === 'true') { |
| | | let setting = { |
| | | if (plot.label !== 'false') { |
| | | _chart.label('percent', { |
| | | layout: { type: 'pie-spider' }, |
| | | labelHeight: 20, |
| | | content: (data) => { |
| | | let val = data[plot.Xaxis] |
| | | if (val) { |
| | |
| | | } |
| | | } |
| | | return `${val}: ${(data.percent * 100).toFixed(2)}%` |
| | | }, |
| | | labelLine: { |
| | | style: { |
| | | lineWidth: 0.5, |
| | | }, |
| | | } |
| | | } |
| | | |
| | | if (plot.labelLayout === 'overlap') { |
| | | setting.type = 'pie' |
| | | setting.layout = { |
| | | type: 'overlap' |
| | | } |
| | | setting.offset = 0 |
| | | } |
| | | |
| | | _chart.label('percent', setting) |
| | | }) |
| | | } |
| | | |
| | | } else { |
| | | let _chart = chart |
| | | .interval() |