我最近使用react-chartjs-2(https://github.com/jerairrest/react-chartjs-2)实现了图表显示
我想启用缩放和平移功能,以便在触摸屏上更加方便用户使用。为了实现此功能,我安装了 react-hammerjs 和 chartjs-plugin-zoom。
import {Chart, Line} from 'react-chartjs-2';
import Hammer from 'react-hammerjs';
import zoom from 'chartjs-plugin-zoom'
我注册了插件
componentWillMount(){
Chart.plugins.register(zoom)
}
render方法如下所示:
render(){
return <Line data={data} options={options} />
}
平移和缩放选项:
pan:{
enabled=true,
mode:'x'
},
zoom:{
enabled:true,
drag:true,
mode:'xy'
}
我想这是正确的方法来实现。不幸的是,上面的实现没有工作。我将非常感激,如果你们中的一些人已经实现了缩放和平移使用react-chartjs-2插件,请分享如果你是如何实现这些功能。或者你可以指出我的代码上面的问题。
5条答案
按热度按时间nx7onnlm1#
要将缩放与平移功能添加到基于
react-chartjs-2
得图表组件中,您可以执行以下步骤:步骤1:您需要安装
chartjs-plugin-zoom
步骤2:在图表组件中导入
chartjs-plugin-zoom
步骤3:在ChartJS组件选项中启用缩放与平移
就是这样。现在您的图表组件应该如下所示:
备注:
1.您不必显式安装
hammerjs
,因为安装chartjs-plugin-zoom
时会自动将其包含为依赖项,请参见以下内容:1.例如,一种缩放方法(至少对于Mac)是,您可以将鼠标指针移动到图表区域中,然后向下或向上滚动鼠标。放大后,您可以在向左或向右拖动的同时保持鼠标单击。
wkftcu5l2#
enabled属性的
pan
对象下存在语法错误。您错误地将
=
而不是:
替换为:
具有:
并且也正如@君斌所建议的:
安装hammerjs为:
在您的组件中,将其导入为:
v440hwme3#
您导入了错误的锤子,它应该来自“hammerjs”;
o4tp2gmn4#
您需要添加
import 'chartjs-plugin-zoom';
,然后将缩放选项添加到options.plugins.zoom
中,例如:8cdiaqws5#
我尝试在NextJS项目中这样做。但是到目前为止还没有成功。我使用的是一个时间序列图,其中包含德语和英语的日期-fns/locale,并且不断收到以下错误:
我的组件: