目前公司需要开发移动端图表项目,就选用了f2。目前没在官方实例里面找到罗盘的例子,就参考了G2的写了一个。
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import Immutable from 'immutable';
import F2 from '@antv/f2';
const color = ['#FF5961', '#FABE32', '#1FDE44'];
export default class PanelChart extends Component {
static defaultProps = {
panenlDataObj: {},
chartId: ''
};
static propTypes = {
panenlDataObj: PropTypes.object,
chartId: PropTypes.string,
};
constructor(props) {
super(props);
this.state = {
chart: null
};
}
componentWillReceiveProps(nextProps) {
if (!Immutable.is(nextProps.panenlDataObj, this.props.panenlDataObj)) {
this.changeMainChart(nextProps.panenlDataObj);
}
}
draw = (chart, panenlDataObj) => {
const lineWidth = 20;
chart.guide().clear();
// 绘制仪表盘背景
chart.guide().arc({
zIndex: 0,
top: false,
start: [0, 0.92],
end: [100, 0.92],
style: { // 底灰色
stroke: '#CBCBCB',
lineWidth
}
});
chart.guide().arc({
zIndex: 1,
start: [0, 0.92],
end: [40, 0.92],
style: {
stroke: color[0],