javascript - number - js chart min js
Chart.js multiTooltip labels (4)
Cambio
window.myBar = new Chart(ctx).Line(barChartData, {
responsive : true,
animation: true,
barValueSpacing : 5,
barDatasetSpacing : 1,
tooltipFillColor: "rgba(0,0,0,0.8)",
multiTooltipTemplate: "<%= label %> - <%= value %>"
});
a:
window.myBar = new Chart(ctx).Line(barChartData, {
responsive : true,
animation: true,
barValueSpacing : 5,
barDatasetSpacing : 1,
tooltipFillColor: "rgba(0,0,0,0.8)",
multiTooltipTemplate: "<%= datasetLabel %> - <%= value %>"
});
El cambio es a la última línea
multiTooltipTemplate: "<%= datasetLabel %> - <%= value %>"
datasetLabel
obtiene el valor de la etiqueta de los objetos del conjunto de datos (en este caso, ''Bob'' y ''Tina''), mientras que la label
obtiene el título impreso en el eje x (parte del conjunto de labels
)
Estoy tratando de obtener charts.js para mostrar el nombre de la etiqueta de cada conjunto de datos en la información sobre herramientas.
Mi código:
var barChartData = {
labels : ["January","February","March","April","May","June","July"],
datasets : [
{
label: "Bob",
fillColor : "rgba(88,196,246,0.5)",
strokeColor : "rgba(88,196,246,0.8)",
highlightFill: "rgba(88,196,246,0.75)",
highlightStroke: "rgba(88,196,246,1)",
data : [randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor()]
},
{
label: "Tina",
fillColor : "rgba(74,211,97,0.5)",
strokeColor : "rgba(74,211,97,0.8)",
highlightFill : "rgba(74,211,97,0.75)",
highlightStroke : "rgba(74,211,97,1)",
data : [randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor()]
}
]
}
var ctx = document.getElementById("canvas").getContext("2d");
window.myBar = new Chart(ctx).Line(barChartData, {
responsive : true,
animation: true,
barValueSpacing : 5,
barDatasetSpacing : 1,
tooltipFillColor: "rgba(0,0,0,0.8)",
multiTooltipTemplate: "<%= label %> - <%= value %>"
});
Con mi código anterior, aparece la información sobre herramientas al pasar el cursor sobre "Enero":
January
January - xx
January - xx
¿Alguna idea de cómo puedo conseguir que muestre lo siguiente?
January
Bob - xx
Tina - xx
Como respondí here , puede darle a multiTooltipTemplate una función. Ponga un punto de interrupción dentro de esa función con ''depurador'', y explore el objeto dado para todas las propiedades que desee. Luego construye una cadena para que se muestre en tu información sobre herramientas:
multiTooltipTemplate: function(v) {debugger; return someManipulation(v);}
tooltipTemplate: function(v) {return someOtherManipulation(v);}
Similar a la respuesta de Hannes, pero la documentación se ha actualizado desde entonces: ahora hay varias opciones y el enlace que proporcionó ya no funciona porque esa opción está en desuso.
Estoy agregando una nueva respuesta, ya que me tomó un tiempo encontrarla.
Este es el modo x: muestra información de múltiples conjuntos de datos en la información sobre herramientas basada en el eje x
var chart = new Chart(ctx, {
type: ''line'',
data: data,
options: {
tooltips: {
mode: ''x''
}
}
})
http://www.chartjs.org/docs/latest/general/interactions/modes.html#x
También hay modo ''y''. El modo de etiqueta ahora está en desuso.
También puede usar el modo ''punto'', ''índice'' y ''más cercano''.
quiero actualizar la respuesta, porque estuve buscando por mucho tiempo.
Ahora puede cambiar la configuración de información sobre herramientas dentro de las opciones. Ver Docu: http://www.chartjs.org/docs/#chart-configuration-tooltip-configuration
En cuanto a la pregunta hecha, para mostrar todos los datos de X.
window.myBar = new Chart(ctx).Line(barChartData, {
tooltips: {
mode: ''label''
}
});
Saludos Hannes