我使用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;
截图:
答案 0 :(得分:3)
您可以通过在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的索引文件并使用它。
答案 1 :(得分:1)
尝试使用chartist-plugin-legend返回Chartist.plugins.legend函数。您也可以传递选项以添加自定义,这是您可以阅读它的链接:Link chartist-plugin-legend
let plugins = [
Legend()
]
也做了这个改变,因为反应图表不会采取任何名为插件的道具。
<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);
}
}
}
现在您可以根据需要进行样式设置。 legend插件还提供了可以发送的某些选项。阅读相关内容并相应地传递选项