En un gráfico de barras apiladas podemos mostrar el total de cada serie en cada pila, como esta Sin embargo, quiero mostrar el valor de cada serie, no total como esta (por favor, ignore el hecho de que las dos muestras tienen un número diferente de series) Además, me gustaría mostrar el total de la pila en la parte superior. Lo que quiero decir es que, si mira el primer gráfico, en la primera barra, los valores son 5,15 (5 + 10), 24 (15 + 9). Mi resultado deseado debería ser como el segundo gráfico, donde los valores de la primera barra son similares, 10,9 y finalmente un total en la parte superior 19
¿Es posible con esta biblioteca?jqplot - Valores individuales, no totales en el gráfico apilado
9
A
Respuesta
8
Un poco de un truco aquí. Como quiere una etiqueta más para cada serie, he introducido una serie "vacía". Sin embargo, replica lo que quieres bastante bien. Fiddle here.
$(document).ready(function(){
var s1 = [5, 6];
var s2 = [7, 5];
var s3 = [14, 9];
var s4 = [0, 0]; //empty series just for total labels
var pLabels1 = []; // arrays for each inner label
var pLabels2 = [];
var pLabels3 = [];
var pLabelsTotal = []; // array of totals above each column
for (var i = 0; i < s1.length; i++){
pLabels1.push('<div style="border:1px solid gray">'+s1[i]+'</div>');
pLabels2.push('<div style="border:1px solid gray">'+s2[i]+'</div>');
pLabels3.push('<div style="border:1px solid gray">'+s3[i]+'</div>');
pLabelsTotal.push(s1[i]+s2[i]+s3[i]);
}
plot3 = $.jqplot('chart2', [s1, s2, s3, s4], {
// Tell the plot to stack the bars.
stackSeries: true,
captureRightClick: true,
seriesDefaults:{
renderer:$.jqplot.BarRenderer,
rendererOptions: {
// Put a 30 pixel margin between bars.
barMargin: 30,
// Highlight bars when mouse button pressed.
// Disables default highlighting on mouse over.
highlightMouseDown: true
},
},
series:[
{
pointLabels:{
show:true,
labels:pLabels1,
ypadding: -25,
escapeHTML:false
}
},
{
pointLabels:{
show:true,
labels:pLabels2,
ypadding: -25,
escapeHTML:false
}
},
{
pointLabels:{
show:true,
labels:pLabels3,
ypadding: -25,
escapeHTML:false
}
},
{
pointLabels:{
show:true,
labels:pLabelsTotal,
ypadding: 7,
escapeHTML:false
}
}
],
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer
},
yaxis: {
padMin: 0,
min: 0
}
},
legend: {
show: false,
}
});
});
Produce:
Cuestiones relacionadas
- 1. jqplot Gráfico de barras apiladas lado a lado
- 2. jqplot información sobre herramientas en el gráfico de barras
- 3. Cómo mostrar información sobre herramientas en el gráfico circular jqplot
- 4. jqPlot ancho del gráfico de barras
- 5. jqplot cambia el color del gráfico al pasar el mouse
- 6. Cómo actualizar el gráfico de barras de jqplot sin volver a dibujar el gráfico
- 7. Tiene problemas con el gráfico de barras jqPlot
- 8. Color de fondo para el gráfico circular de Jqplot
- 9. jqplot formato de información sobre herramientas valores
- 10. Cómo asegurar los marcadores no se cortan en jqplot
- 11. JQPlot Printing
- 12. Problema con ggplot2, geom_bar, y position = "dodge": apilado tiene valores y correctos, esquivado no
- 13. jqPlot muestra el porcentaje y el valor en el gráfico circular
- 14. Resaltar valores específicos en el gráfico R
- 15. Cómo acercar jqplot desde el botón externo?
- 16. Compensar combinaciones de teclado, no solo valores de registro individuales
- 17. Convertir el diagrama de jqplot en la imagen
- 18. Cómo no manejar datos en JqPlot
- 19. ¿Por qué jQPlot dateAxisRenderer no funciona correctamente?
- 20. jqPlot - Leyenda horizontal
- 21. ¿Cómo se traza un histograma apilado en 3D en R?
- 22. Cómo poner etiquetas individuales para un gráfico de dispersión
- 23. ¿Cómo cambiar dinámicamente el renderizador jqplot?
- 24. Cómo mostrar los valores en las regiones de la tabla jqplot en lugar de porcentaje
- 25. ¿Cómo detener Python parse_qs para analizar valores individuales en listas?
- 26. jQplot dragable
- 27. ¿Es posible seleccionar valores individuales usando SHOW STATUS en MySQL?
- 28. mostrando todos los valores en el control de gráfico Xaxis
- 29. ¿Cómo se leen los valores de transformación individuales en JavaScript?
- 30. jqPlot pieRenderer leyenda cuadrados no muestra
hmm gran TNX. Por algún motivo, el violín no está funcionando, ya que el enlace a los recursos es incorrecto. Tnx de todos modos – anu
@anu, lo siento debería haber mencionado sobre el violín. jqplot no permite hotlinking sus archivos js. Tienes que navegar a los archivos y guardarlos en tu navegador para que el violín funcione. – Mark
Hice una muestra de jsfiddle para este código que importa las secuencias de comandos raw jqPlot, por lo que si está interesado puede ver el código ejecutándose sin problemas http://jsfiddle.net/Boro/Ymca3/135/ Solo tuve que agregar una cadena de concatenación a 'pLabelsTotal.push (" "+ (s1 [i] + s2 [i] + s3 [i]));' por alguna extraña razón, estaba mostrando '.00' después de cada total. También hace un tiempo hice una solución similar, aunque en mi muestra los totales están codificados. Si está interesado, puede consultarlo aquí http://stackoverflow.com/a/10296988/613495 – Boro