mat*_*eco 2 javascript reactjs chart.js chartjs-plugin-zoom react-chartjs-2
我有一个使用“react-chartjs-2”库来显示一些数据的反应组件。带有数据的图表工作正常。我不能做的是使图表与“chartjs-plugin-zoom”插件一起使用。我不确定配置有什么问题。我在用:
“react-chartjs-2”:“^3.0.3”
“chartjs-plugin-zoom”:“^1.0.1”
import { Line } from 'react-chartjs-2'
import * as zoom from 'chartjs-plugin-zoom'
import classes from './Chart.module.css'
interface Chart {
title: string
labels: string[]
datasets: any
}
const Chart: React.FC<Chart> = props => {
const data = {
title: props.title,
labels: props.labels,
datasets: props.datasets,
}
const options = {
maintainAspectRatio: false,
responsive: true,
elements: {
point: {
radius: 0,
},
line: {
borderWidth: 1.5,
},
},
scales: {
x: {
ticks: {
color: 'rgba( 0, 0, 1)',
},
grid: {
color: 'rgba(0, 0, 0, 1)',
},
},
y: {
min: 1,
max: 200000,
type: 'logarithmic',
ticks: {
color: 'rgba(0, 0, 0, 1)',
},
grid: {
color: 'rgba(0, 0, 0, 1)',
},
},
},
plugins: {
zoom: {
zoom: {
enabled: true,
mode: 'xy',
speed: 100,
},
pan: {
enabled: true,
mode: 'xy',
speed: 100,
},
},
},
}
return (
<div className={classes.chartContainer}>
<Line
type='line'
title={props.title}
data={data}
options={options}
width={900}
height={450}
/>
</div>
)
}
export default Chart
Run Code Online (Sandbox Code Playgroud)
这是 css 文件,以防万一。
.chart-container {
height: 450px;
width: 900px;
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
Lee*_*lee 10
有两件事,您必须按照文档中的说明通过全局或内联注册来注册zoomplugin(https://www.chartjs.org/chartjs-plugin-zoom/guide/integration.html#bundlers-webpack-rollup -etc),而且您的配置不正确,缩放选项没有选项enabled,您必须启用所有不同的缩放类型appart,然后它才能工作(https://www.chartjs.org/chartjs-plugin- Zoom/guide/options.html#zoom-options)
import { Line, Chart } from "react-chartjs-2";
import React from "react";
import zoomPlugin from "chartjs-plugin-zoom";
Chart.register(zoomPlugin); // REGISTER PLUGIN
const Chart2 = (props) => {
const data = {
title: props.title,
labels: props.labels,
datasets: props.datasets
};
const options = {
maintainAspectRatio: false,
responsive: true,
elements: {
point: {
radius: 0
},
line: {
borderWidth: 1.5
}
},
scales: {
x: {
ticks: {
color: "rgba( 0, 0, 1)"
},
grid: {
color: "rgba(0, 0, 0, 1)"
}
},
y: {
min: 1,
max: 200000,
type: "logarithmic",
ticks: {
color: "rgba(0, 0, 0, 1)"
},
grid: {
color: "rgba(0, 0, 0, 1)"
}
}
},
plugins: {
zoom: {
zoom: {
wheel: {
enabled: true // SET SCROOL ZOOM TO TRUE
},
mode: "xy",
speed: 100
},
pan: {
enabled: true,
mode: "xy",
speed: 100
}
}
}
};
return (
<div>
<Line
type="line"
data={data}
options={options}
width={900}
height={450}
/>
</div>
);
};
export default Chart2;
Run Code Online (Sandbox Code Playgroud)
Codesandbox链接:https://codesandbox.io/s/react-chart-js-forked-cn6wh?file =/src/components/Chart.js
| 归档时间: |
|
| 查看次数: |
6259 次 |
| 最近记录: |