在 ReactJS 中的图表内添加数据标签不起作用?
2021-06-19
16987
示例
如何在折线图顶部显示数据
实施时遇到的问题:
chartjs 插件“chartjs-plugin-datalabels:1.0.0”导入时引发以下错误
TypeError:无法读取未定义的属性“extend”。
通过将标签插件包更改为测试版本
2.0.0-rc.1
解决了上述错误
链接到 codesandbox 将找到 此处
此处提出了类似的问题,但解决方案无法解决我的问题。
任何帮助都将不胜感激。
import React, { Fragment } from "react";
import { Line } from "react-chartjs-2";
import "chartjs-plugin-datalabels";
const styles = {
dangerColor: {
color: "red"
},
geen: {
color: "green"
}
};
const data = {
labels: ["Jan", "Feb", "Mar", "Apr", "May"],
datasets: [
{
label: "Avg interest by month",
data: [0.7, 0.81, 0.71, 0.87, 0.9],
fill: false,
backgroundColor: "transparent",
borderColor: "#06a1e1",
tension: 0.1,
borderWidth: 4
}
]
};
const options = {
maintainAspectRatio: false,
scales: {
x: {
grid: {
display: false
}
},
y: {
display: false,
grid: {
display: false
}
}
},
plugins: {
legend: {
display: false
},
title: {
display: true,
text: "Avg interest by month (days)",
padding: {
bottom: 30
},
weight: "bold",
color: "#00325c",
font: {
size: 13
},
align: "start"
},
datalabels: {
display: true,
color: "white"
}
}
};
const LineChart = () => (
<Fragment>
<div style={{ height: "300px" }}>
<Line data={data} options={options} />
</div>
</Fragment>
);
export default LineChart;
这是我的 Package.json 依赖项的样子
{
"chart.js": "^3.3.2",
"chartjs-plugin-datalabels": "^2.0.0-rc.1",
"react": "^17.0.2",
"react-chartjs-2": "^3.0.3",
"react-dom": "^17.0.2",
"react-scripts": "^4.0.3",
"web-vitals": "^1.1.2"
}
3个回答
react-chartjs-2 包包含一个可在组件上设置的插件属性。
将导入从:
import "chartjs-plugin-datalabels";
更改为:
import ChartDataLabels from 'chartjs-plugin-datalabels';
在组件上,添加包含导入值的插件变量。
从:
<Line data={data} options={options} />
到:
<Line data={data} plugins={[ChartDataLabels]} options={options} />
Vadimas Klepko
2021-07-14
我发现了这个问题并更新了沙盒
你可以在这里找到链接 https://codesandbox.io/s/quizzical-hooks-zcg91?file=/src/components/LineChart.jsx
问题出在 chart.js 上
import { Chart } from "chart.js";
import ChartDataLabels from "chartjs-plugin-datalabels";
Chart.register(ChartDataLabels);
插件注册方法在
chart.js 3.x
版本中更新了
Rajath
2021-07-26
在 React 项目中像这样导入
chartjs-plugin-datalabels
。
import { Chart } from "chart.js";
import ChartDataLabels from "chartjs-plugin-datalabels";
Chart.register(ChartDataLabels);
Sonoo Prajapati
2024-02-20