javascript - ApexCharts:热图工具提示格式化程序

标签 javascript formatting format date-formatting apexcharts

我正在使用 apexcharts 来显示热图图表:

Apex heatmap chart

系列以 Date 对象命名,在 y 轴上的格式如下:

yaxis: {
    labels: {
        formatter: function(value){
            if(value instanceof Date){
                return value.toLocaleDateString(undefined, {year: 'numeric', month: 'long'});
            } else {
                return value;
            }
        }
    }
},

如何获得相同类型的工具提示格式?它们显示日期对象的常规字符串表示,但我只想显示月份和年份(如在 y 轴上):

ApexChart heatmap tooltip

最佳答案

将一个tooltip值传递给options数组,并为其中的y轴的title值设置一个格式化器:

tooltip: {
    y: {
        title: {
            formatter: function(value){
                if(value instanceof Date){
                    return value.toLocaleDateString(undefined, {year: 'numeric', month: 'long'});
                } else {
                    try {
                        return new Date(value).toLocaleDateString(undefined, {year: 'numeric', month: 'long'});
                    } catch (e) {
                        return value;
                    }
                }
            }
        }
    }
}

确保检查传递给格式化程序的值的类型,并在必要时创建一个新的 Date 对象。

关于javascript - ApexCharts:热图工具提示格式化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54889951/

相关文章:

javascript - Jasmine 测试 knockout ObservableArray

c# - 如果小数部分为零,如何删除小数点分隔符?

c++ - 在没有科学记数法的情况下在 C++ 中格式化 n 个有效数字

ios - 如何格式化这样的坐标?

c# - ToString() 自定义数字格式的奇怪之处

javascript - Ajax调用插入

javascript - React 应用程序寻找未被访问的静态文件

javascript - 在原生 Error 对象的构造中调用函数

java - Spring MVC 3 格式化 BigDecimal

python - Django ajax 格式化约定