如何改变z数据悬停显示百分比以及百分比的颜色
plotly.js how to change z data on hover to display % as well as % on colorscale
我想添加一个%标签的z值,是显示在悬停。同样,现在,我的色阶只显示-10到10,但我希望它显示%,所以-10%到10%。这是我的密码。我试着添加ticksuffix:"%",但我不确定我应该把它放在哪里,因为它看起来像色阶不是像x和y轴一样的轴。
var xValues = ['A', 'B', 'C',];
var yValues = ['W', 'X', 'Y', 'Z'];
var zValues = [[-2.45,-0.4,1.3],
[2.9,3.9,-5.66],
[0.5,-2.6,-3.2],
[-8.3,-0.5,-0.1]];
var a_text = [["Comodities + producers","Consumer Discretionary","Utilities Equities"],
["Health and Biotech","Global Real Estate","Financial Equities"],
["Emerging Market Bonds","Technology Equities","Industrials Equities"],
["Oil and Gas","China Equities","Diversified Portfolio"]];
var data = [{
x: xValues,
y: yValues,
z: zValues,
hoverinfo: "z",
reversescale: true,
type: 'heatmap',
// zsmooth: "best",
colorscale: "Spectral",
zauto: false,
zmin:-10,
zmax:10,
showscale: true,
}];
var layout = {
title: 'Annotated Heatmap',
annotations: [],
xaxis: {
ticks: '',
side: 'top',
tickfont: {color: 'rgb(255,255,255)'}
},
yaxis: {
ticks: '',
ticksuffix: ' ',
width: 700,
height: 700,
autosize: true,
tickfont: {color: 'rgb(255,255,255)'},
}
};
for ( var i = 0; i < yValues.length; i++ ) {
for ( var j = 0; j < xValues.length; j++ ) {
var currentValue = (zValues[i][j]);
if (currentValue < -0.05) {
var textColor = 'white';
}else{
var textColor = 'black';
}
var result = {
xref: 'x1',
yref: 'y1',
x: xValues[j],
y: yValues[i],
text: a_text[i][j],
font: {
family: 'Arial',
size: 12,
color: 'rgb(50, 171, 96)'
},
showarrow: false,
font: {
color: textColor
}
};
layout.annotations.push(result);
}
}
Plotly.newPlot('myDiv', data, layout);
你需要改变两件事,颜色条和悬停文本。
颜色条将此信息添加到变量data
。
colorbar: {
title: 'Relative change',
ticksuffix: '%',
}
悬停文本首先将z值转换为字符串并附加%
。
var zText = [];
var prefix = "+";
var i = 0;
var j = 0;
for (i = 0; i < zValues.length; i += 1) {
zText.push([]);
for (j = 0; j < zValues[i].length; j += 1) {
if (zValues[i][j] > 0) {
prefix = "+";
} else {
prefix = "";
}
zText[i].push(prefix + zValues[i][j] + "%");
}
}
然后将新文本分配给情节。添加
text: zText,
hoverinfo: "text",
到变量data
。
下面是完整的数据和代码:https://jsfiddle.net/Ashafix/e6936boq/2/
相关文章:
- 当我使用高度百分比时,谷歌地图javascript api不会显示
- 在Javascript中计算并显示具有2个税收百分比的现有总值
- 显示php中的加载百分比文本
- 如何删除谷歌图表中的日期空间并更正百分比显示
- 如何在可动手表格中显示百分比而不是比率
- 循环进度条在滚动时显示 - 百分比文本问题
- 显示使用 AJAX 获取数据时的加载百分比
- 谷歌图表显示的是金钱而不是百分比
- 使 NVD3 饼图显示带小数的百分比
- 如何显示正确的百分比
- 如何在酒窝 js 的饼图中显示百分比
- 将 y 轴显示为百分比
- 如何在jqplot图表的区域上显示值,而不是百分比
- 相对百分比高度显示不正确
- 如何使元素中的文本仅在基于百分比而非像素查看页面的特定部分时显示
- 进度条显示ajax、php中的加载百分比
- HighCharts:显示y轴标签的百分比,而不是基本柱状图的绝对计数
- 如何在滚动页面的相对百分比后显示此弹出窗口
- Google可视化-尝试格式化每个工具提示,以便按格式化程序或查询显示百分比
- 如何在NVD3饼图上显示百分比%