我已经尝试阅读文档,但我还没有找到一种简单的方法来为悬停文本添加后缀。
有没有办法向hoverformat
添加文字?例如y respondents
,其中y是y值。
设置yaxis: {hoverformat: ''}
似乎不允许字符串?
我习惯使用FlotChart,你可以简单地放"%y respondents"
。
非常感谢任何帮助。
答案 0 :(得分:2)
如果在跟踪中设置text
,则可以获得后缀。
设置与每个(x,y)对关联的文本元素。如果单身 string,所有数据点上都出现相同的字符串。如果是数组 对于字符串,项目被映射为此跟踪的(x,y) 坐标。
与hoverinfo
(hoverinfo: 'text+y'
)一起,你可以得到你想要的东西(除了需要手动删除的不需要的换行符)。
对于条形图,这似乎不起作用(至少在2017年1月没有)。有必要复制数据并将其写入text属性中的数组(这也解决了换行问题)。
var N = 16,
x = Plotly.d3.range(N).map(Plotly.d3.random.normal(3, 1)),
y = Plotly.d3.range(N),
data = [{
x: x,
y: y,
type: 'scatter',
mode: 'markers',
text: 'respondents',
marker: {
size: 16
},
hoverinfo: 'text+y'
}],
layout = {
hovermode: 'closest',
};
Plotly.plot('myDiv', data, layout);
//here comes the bar chart
var data = [{
x: ['Jan', 'Feb', 'Mar'],
y: [20, 14, 25],
type: 'bar',
text: [],
hoverinfo: 'text'
}];
for (N = 0; N < data[0].y.length; N += 1) {
data[0].text.push(data[0].y[N] + ' Respondents');
}
Plotly.plot('myBarChart', data);
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<div id="myDiv" style="width:400px;height:400px;"></div>
<div id="myBarChart" style="width:400px;height:400px;"></div>