Javascript 如何更改Plotly.js中悬停信息的标签?

Javascript 如何更改Plotly.js中悬停信息的标签?,javascript,plotly,plotly.js,Javascript,Plotly,Plotly.js,在使用Plotly.js渲染的图表中,我为每个轴定义标题。当鼠标悬停图表中的项目时,会显示一个弹出窗口,但显示的“标签”不使用我定义的标题 例如,x轴的默认值为x。我将hellox定义为标题,该值会显示在图表中,但当鼠标悬停某个值时(仍会显示x) 这里有一个活生生的例子来说明我的意思: 我一直在查看文档,但到目前为止,我没有找到任何完全符合我要求的内容:只需在弹出窗口中更改标签。另外,这个问题已经很老了,我想写一个解决方案,当我遇到同样的问题时,我提出了这个解决方案。我确实为悬停信息定义了一个v

在使用Plotly.js渲染的图表中,我为每个轴定义标题。当鼠标悬停图表中的项目时,会显示一个弹出窗口,但显示的“标签”不使用我定义的标题

例如,x轴的默认值为
x
。我将
hellox
定义为标题,该值会显示在图表中,但当鼠标悬停某个值时(仍会显示
x

这里有一个活生生的例子来说明我的意思:


我一直在查看文档,但到目前为止,我没有找到任何完全符合我要求的内容:只需在弹出窗口中更改标签。

另外,这个问题已经很老了,我想写一个解决方案,当我遇到同样的问题时,我提出了这个解决方案。我确实为悬停信息定义了一个var文本数组,其中填充了x、y和z值的标签。请看下面的提琴,其中我使用了热图图进行演示(这是我在我的项目中使用的,但它可以很容易地适应您的图表选项):

这是html代码:

<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>

<body>
<br><br>
<!-- Source and on-click event for plotly.js -->
<div id="plotly_chart" style="width: 90%; height: 270px"></div>



下面是JavaScript:

var zValues = [[1, 20, 30], [20, 1, 60], [30, 60, 1]];
var yValues = ['data1', 'data2', 'data3'];
var xValues = ['condition1', 'condition2', 'condition3'];

var config = {
        displaylogo: false
      };

// fill in 'text' array for hover
var text = zValues.map (function(zValues, i) { return zValues.map (function (value, j) {
     return ` ID: ${yValues[i]}<br> Condition: ${xValues[j]}<br> Value: ${value.toFixed(2)} `
       });
     });

Plotly.newPlot('plotly_chart', [{x: xValues, y: yValues, z: zValues, text: text, hoverinfo: 'text', hoverlabel: {bgcolor: '#41454c'}, type: 'heatmap', colorscale: 'Viridis'}], config );
var zvalue=[[1,20,30],[20,1,60],[30,60,1];
var yValues=['data1','data2','data3'];
var xValues=['condition1','condition2','condition3'];
变量配置={
displaylogo:错误
};
//填写悬停的“文本”数组
var text=zValues.map(函数(zValues,i){返回zValues.map(函数(value,j){
返回`ID:${yValues[i]}
条件:${xValues[j]}
值:${Value.toFixed(2)}` }); }); Plotly.newPlot('Plotly_chart',[{x:xValues,y:yValues,z:zValues,text:text,hoverinfo:'text',hoverlabel:{bgcolor:'#41454c',键入:'heatmap',colorscale:'Viridis',config);

也许这仍然有用

我不相信有这样的选择,但如果你想把它作为一个问题提交到这里,这是一个好主意:)好建议,谢谢。