0

我已经使用 react-chartjs-2 库实现了一个饼图。当我们将鼠标悬停在图表上时,我在显示/隐藏工具提示时遇到了问题。

import React, { PropTypes } from 'react';
import {Pie} from 'react-chartjs-2';

class PieChart extends React.Component {
    constructor(props, context) {
        super(props, context);
        this.state = {
        };
}

render() {
    let color = ['#1f77b4', '#ff7f0e'];

    let cTDcolor = {
        "Being Assessed": "#4472c4",
        "Not Started": "#ed7d31",
        "No Data": "#a5a5a5"
    };

    let chartData = [], label = [], colorCTDArray = [];
    let keyAttr = this.props.keyAttribute;
    let valueAttr = this.props.valueAttribute;
    const priorityArray = ["Low","Medium","High","Pending"];
    if(this.props.chartSeries != undefined && this.props.chartSeries != null) {
        this.props.chartSeries.sort(function(a, b){
            var firstPrio = priorityArray.indexOf(a.complexity);
            var secPrio = priorityArray.indexOf(b.complexity);
            return firstPrio -secPrio 
            });
        this.props.chartSeries.map(function(element) { 
            chartData.push(element[valueAttr]);
            label.push(element[keyAttr]);
        });
    }

    //Sorting colors...
    
    label.map(function(item) {
      colorCTDArray.push(cTDcolor[item]);
    });
    const options = {
        legend: {
          labels: {
            boxWidth: 12
          }
        },
        plugins:  {
          datalabels: {
            display: false
          }  
        }
    };
  
    let data;
        data = {
            labels: label,
            datasets: [{
                data: chartData,
                backgroundColor: colorCTDArray,
                hoverBackgroundColor: colorCTDArray
            }]
        };
    return (
        <div>
                <Pie data={data} height={this.props.height} options={options} />
        </div>
        );
    }
}

PieChart.propTypes = {
    chartSeries: React.PropTypes.array,
    height: React.PropTypes.number,
    color: React.PropTypes.array,
    keyAttribute: React.PropTypes.string,
    valueAttribute: React.PropTypes.string,
    isCTD: React.PropTypes.bool,
    isPie: React.PropTypes.bool
};

export default PieChart;

它与从 UI 端传递的虚拟数据类似地显示: 在此处输入图像描述

我不想No Data在图表悬停时显示工具提示。如果它可以为每个状态变量隐藏,或者只是为No Data. 两者都可以服务于我的目标。我不确定因为它可以显示/隐藏哪个对象。有人可以帮我隐藏工具提示吗?

4

0 回答 0