如何使用 chartist.js 的插件?

How to use plugins with chartist.js?

我正在使用 chartist.js 制作饼图组件。我想使用图例插件 https://codeyellowbv.github.io/chartist-plugin-legend/

我的饼图中没有图例。请参阅下面的屏幕截图

代码:

import React, { Component } from 'react';
import ChartistGraph from "react-chartist";
import Legend from "chartist-plugin-legend";

import './piechart.css';

let options = {
  width:400,
  height:500,
  labelInterpolationFnc: function(value) {
    return value[0]
  }
};


let plugin = {
    plugin:'legend'
}


class Chart extends Component {

  render(){
    return(
      <div>
          <div className="center">
          <ChartistGraph data={data} options={options} plugins={plugin} type="Pie"/>
          </div>
      </div>

    )}

}

export default Chart;

截图:

尝试以下作为 chartist-plugin-legend return Chartist.plugins.legend 功能。您也可以传递选项以添加自定义,这里是 link 您可以在其中阅读它:Link chartist-plugin-legend

let plugins = [
    Legend()
]

也进行了此更改,因为 react-chartist 不采用任何称为插件的道具。

<ChartistGraph data={data} options={{...options, plugins}} type="Pie"/>

现在在您的目录中添加一个 .css 文件并将其导入您的组件文件中。具有以下内容。内容与插件页面中提到的相同。

.ct-legend {
    position: relative;
    z-index: 10;

    li {
        position: relative;
        padding-left: 23px;
        margin-bottom: 3px;
    }

    li:before {
        width: 12px;
        height: 12px;
        position: absolute;
        left: 0;
        content: '';
        border: 3px solid transparent;
        border-radius: 2px;
    }

    li.inactive:before {
        background: transparent;
    }

    &.ct-legend-inside {
        position: absolute;
        top: 0;
        right: 0;
    }

    @for $i from 0 to length($ct-series-colors) {
        .ct-series-#{$i}:before {
            background-color: nth($ct-series-colors, $i + 1);
            border-color: nth($ct-series-colors, $i + 1);
        }
    }
}

现在您可以随心所欲地设置样式了。图例插件还提供了您可以发送的某些选项。阅读它并相应地传递选项

你可以通过在options 属性上添加它来使用插件,但首先你需要导入ff。依赖项:

import React, { Component } from 'react';
import ChartistGraph from "react-chartist";
import Legend from "chartist-plugin-legend";

添加插件:

let options = {
    width:400,
    height:500,
    plugins: [
        Legend()
    ]
};

渲染它:<ChartistGraph data={data} options={options} type={type} />

并且由于 CSS 不包含在内,您可以检查 plugin here 的索引文件并使用它。