【问题标题】:highlightFill for radar charts in chartJS在chartJS中突出显示雷达图
【发布时间】:2023-03-06 23:45:01
【问题描述】:

chartJS 中的条形图可以使用 highlightFill 属性更改高亮时的填充颜色:

http://www.chartjs.org/docs/#bar-chart-data-structure

var data = {
labels: ["January", "February", "March", "April", "May", "June", "July"],
datasets: [
    {
        label: "My First dataset",
        fillColor: "rgba(220,220,220,0.5)",
        strokeColor: "rgba(220,220,220,0.8)",
        highlightFill: "rgba(220,220,220,0.75)",
        highlightStroke: "rgba(220,220,220,1)",
        data: [65, 59, 80, 81, 56, 55, 40]
    },
    {
        label: "My Second dataset",
        fillColor: "rgba(151,187,205,0.5)",
        strokeColor: "rgba(151,187,205,0.8)",
        highlightFill: "rgba(151,187,205,0.75)",
        highlightStroke: "rgba(151,187,205,1)",
        data: [28, 48, 40, 19, 86, 27, 90]
    }
]};

然而,雷达图没有这样的属性:

var data = {
    labels: ["Eating", "Drinking", "Sleeping", "Designing", "Coding", "Cycling", "Running"],
    datasets: [
        {
            label: "My First dataset",
            fillColor: "rgba(220,220,220,0.2)",
            strokeColor: "rgba(220,220,220,1)",
            pointColor: "rgba(220,220,220,1)",
            pointStrokeColor: "#fff",
            pointHighlightFill: "#fff",
            pointHighlightStroke: "rgba(220,220,220,1)",
            data: [65, 59, 90, 81, 56, 55, 40]
        },
        {
            label: "My Second dataset",
            fillColor: "rgba(151,187,205,0.2)",
            strokeColor: "rgba(151,187,205,1)",
            pointColor: "rgba(151,187,205,1)",
            pointStrokeColor: "#fff",
            pointHighlightFill: "#fff",
            pointHighlightStroke: "rgba(151,187,205,1)",
            data: [28, 48, 40, 19, 96, 27, 100]
        }
    ]
};

关于如何扩展雷达图以使用该属性的任何想法?

【问题讨论】:

    标签: javascript chart.js


    【解决方案1】:

    雷达图与条形图的不同之处在于,一个区域实际上是一个完整的系列(对于条形图,它是单个数据点)。

    当您看到雷达工具提示并考虑它代表图表的哪个区域时,您会意识到它基本上只代表从中心向外辐射的 2 个点。一个系列的两个点之间的区域实际上是它们之间共享的。突出显示一半区域也不好看。

    除此之外,一个雷达图系列可以被第二个完全覆盖这一事实,我想不出一种不混淆的方式来为雷达图设置悬停突出显示(想想你会怎么做对折线图进行突出显示区域 - 你不需要。你这样做只是为了一个点)

    【讨论】:

    • 感谢@potatopeelings 的回答!我实际上只是想在悬停时隐藏一个数据集,所以我可以“突出显示”剩余的数据集。我认为有一个 highlight 属性可以很容易地解决这个问题。但也许我应该在鼠标离开时删除数据集。
    • 我想你会遇到同样的问题。如果您有 1 个数据集完全覆盖另一个数据集,就像在最后一张图片中一样,您将无法隐藏内部的数据集。
    • 我明白你的意思,但我会一直隐藏同一个数据集,所以我想我可以通过具体说明它来使其工作
    猜你喜欢
    • 2020-07-02
    • 2014-01-13
    • 1970-01-01
    • 2017-03-07
    • 1970-01-01
    • 2021-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多