在chartjs/react-chart 2 js中更改折线图最后一段的颜色[已关闭]

v9tzhpje  于 2023-08-05  发布在  Chart.js
关注(0)|答案(1)|浏览(147)

已关闭。此问题需要details or clarity。它目前不接受回答。
**希望改进此问题?**通过editing this post添加详细信息并阐明问题。

7天前关闭
Improve this question
我想在react中改变折线图的最后一段的颜色,我正在使用chartjs库

import React from "react";
import { Line } from "react-chartjs-2";
import "../Styles/charitem.css";
import {
  Chart,
  LinearScale,
  CategoryScale,
  PointElement,
  LineElement,
} from "chart.js";
Chart.register(LinearScale, CategoryScale, PointElement, LineElement);

function ChartItem() {
  const last_element = (ctx, value) => {
    if (ctx.p0DataIndex === 0) {
      return value;
    }
    return undefined;
  };
  const historicalData = {
    labels: Array.from({ length: 7 }, (_, index) => getTimeLabel(index + 9, 0)),
    datasets: [
      {
        label: "Stock Price",
        data: Array.from({ length: 6 }, () => getRandomPrice(100, 250)),
        borderColor: "blue",
        backgroundColor: "rgba(0, 0, 255, 0.2)",
        tension: 0.4,
        segment: {
          borderColor: (ctx) =>
            last_element(ctx, "rgba(0, 0, 255, 0.2)") ||
            down(ctx, "rgba(255,0,0, 1)") ||
            "   rgba(0,128,0,1)",
        },
      },
    ],
  };

  return (
    <div className="chartitem-div">
      <Line data={historicalData} options={options} />
    </div>
  );
}

// Helper function to generate random price between min and max
function getRandomPrice(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

// Helper function to format time label
function getTimeLabel(hours, minutes) {
  return `${String(hours).padStart(2, "0")}:${String(minutes).padStart(
    2,
    "0"
  )}`;
}

export default ChartItem;

字符串
我可以使用last_element函数中的ctx.p0DataIndex对第一个元素进行修改,如何访问数组的最后一个元素,以便我可以更改其颜色?

pn9klfpd

pn9klfpd1#

尽管我没有使用react-chartjs-2来做这件事,但我认为它应该对你有所帮助。

const lastSegment = function(ctx, value){
  if(ctx.p1DataIndex == config.data.datasets[0].data.length-1){
    return value
  }
}

个字符
我将下一个点的索引与上一个索引进行比较。如果2相等,则将线段的颜色更改为红色。
Here's the full code看看它是什么样子

相关问题