2016-04-14 15 views
1

Ich erstelle ein Streudiagramm.Benutzerdefinierter Hover-Text, Singular/Plural (plotly.js)

Meine X-Achse repräsentiert Daten und Y-Achse die Anzahl der angegebenen Antworten.

Wenn Maus Schweben, würde ich entweder zeigen mag:

  • 1 Antwort OR
  • N Antworten

Ich nehme an, es ist etwas mit benutzerdefinierten Schweben zu tun, sondern kann nicht sehen, wie man es mit der hoverinfo Eigenschaft der Spur oder Y-Achse macht.

Antwort

2

Sie müssen das Attribut text im Trace verwenden.

https://jsfiddle.net/abalter/n54k9zzj/

var data = 
[ 
    {x: "2015-05-01", y: 5}, 
    {x: "2015-05-02", y: 10}, 
    {x: "2015-05-03", y: 0}, 
    {x: "2015-05-04", y: 1} 
]; 

var x = []; 
var y = []; 
var text = []; 
data.forEach(function(item, index) 
{ 
    x.push(item.x); 
    y.push(item.y); 
    if (item.y == 0) 
    { 
    text.push("No responses"); 
    } 
    else if (item.y == 1) 
    { 
    text.push("1 reponse"); 
    } 
    else 
    { 
    text.push(item.y + " responses"); 
    } 
}); 

var trace = 
{ 
    x: x, 
    y: y, 
    text: text, 
    hoverinfo: "text", 
    mode: "markers", 
    name: "Responses" 
} 

var yaxis = 
{ 
    title: "Responses" 
} 

var xaxis = 
{ 
    type: "date" 
} 

var layout = 
{ 
    xaxis: xaxis, 
    yaxis: yaxis 
} 

Plotly.plot 
(
    "graph", 
    [trace], 
    layout 
); 
Verwandte Themen