ChartJS React图表js-2不显示曲线

5vf7fwbs  于 2023-01-20  发布在  Chart.js
关注(0)|答案(1)|浏览(192)
    • bounty将在6天后过期**。回答此问题可获得+50的声誉奖励。Feyto正在寻找来自声誉良好来源的答案

我正在使用react-chart-js 2以散点图的形式显示连续数据。我想把选项放在图表上,但其中一些无法正常工作或根本无法正常工作。因此,我对以下选项有问题:这些线在点之间不是弯曲的,而是直线。
安装的react-chart-js 2版本为:5.2.0,chartJS的版本为:4.1.2.

    • 我尝试过的**:

我尝试修改曲线选项中的参数(元素:{线:{张力:0.1,跨距间隙:false}}),但它不起作用。
下面是代码:

    • 应用程序js**:
import React, { useState, useEffect, useRef, useSyncExternalStore } from 'react';
import Modal from './Modal/Modal'
import {Chart as ChartJS,LinearScale,PointElement,LineElement,Tooltip,Legend,Title,scales} from 'chart.js';
import {Scatter } from 'react-chartjs-2';
ChartJS.register(
    LinearScale,
    PointElement,
    LineElement,
    Tooltip,
    Legend,
    Title);

//JSON.parse(event.data)
//<Doughnut ref={chartReference} data={data} />
export const options1 = {
    responsive: true,
    maintainAspectRatio:false,
    plugins: {
      legend: false,
      title: {
        display:true,
        text: 'TWIST',
      },
    },
  };

export default function App() {
  let da;
  const [data, setData] = useState(null);

  const [chartData1,setChartData1]=useState({
    datasets: [
        {
          label: 'Twist',
          showLine:true,
          maintainAspectRatio:false,
          fill:false,
          data: [{x:3,y:1},{x:3.5,y:2},{x:5.5,y:3},{x:5.25,y:4},{x:5,y:5}],
          backgroundColor: '#df9305',
          borderColor: '#df9305'
        }]
    });

    const [show,setShow] = useState(false);

  const chart1=(d) =>{
    setChartData1({
        datasets: [
            {
              label: 'Twist',
              showLine:true,
              fill:false,
              data: d,
              backgroundColor: '#df9305',
              borderColor: '#df9305'
            }]
    });
  };

  console.log(data)
  useEffect(() => {
    const socket = new WebSocket('ws://localhost:8000');

    socket.addEventListener('message', (event) => {
      setData(JSON.parse(event.data));
      da=[{x:JSON.parse(event.data)["fs"]["s1"]["twist"],y:1},
      {x:JSON.parse(event.data)["fs"]["s2"]["twist"],y:2},
      {x:JSON.parse(event.data)["fs"]["s3"]["twist"],y:3},
      {x:JSON.parse(event.data)["fs"]["s4"]["twist"],y:4},
      {x:JSON.parse(event.data)["fs"]["s5"]["twist"],y:5}];
      chart1(da);
    });

  }, []);
  
  
  return (
        <div>
            <div className="home">
                <div className="template-1" id="temp1">
                <div class="panel-3">
                    <div class="panel-header">
                    <h1>Courbes</h1>
                    <i class='bx bx-cog modal-trigger-panel'></i>
                    </div>
                    <div class="panel-body" >
                    <div class="graph-container" style={{display: "flex", flexDirection: "row",height: "100%",width:"100%"}}>
                        <div style={{width: "25%",height: "100%"}}>
                            <Scatter options={options1} data={chartData1} />
                        </div>
                        </div>
                    </div>
                    </div>
                </div>
                </div>
                <Modal onClose={() => setShow(false)} show={show} />
            </div>
  );
}

此致,

2admgd59

2admgd591#

好吧,这个花了一段时间,但我想出来了。我已经解决了它没有树抖动,所以这是我将显示,你当然可以添加树抖动,但我认为,也许这是什么给你的麻烦的一部分。加载它懒洋洋地做

import 'chart.js/auto';
import { Scatter } from 'react-chartjs-2';

我相信你们已经试过把这个加到期权里了

elements: {
    line: {
        tension: 0.5,
    },
},

如果你需要树摇自由留下评论,我会尝试和找出如何使工作以及。

相关问题