Al usar la biblioteca de trazado d3 Rickshaw, el representador (ya sea área, línea o barra) se establece en el gráfico. ¿Hay alguna forma de tener un gráfico con series múltiples donde una serie se traza como una línea y otra como una barra?Gráficos de barras y líneas de mezcla con Rickshaw (biblioteca gráfica basada en d3 para js)
Respuesta
He intentado el mismo caso de uso.
Modifiqué la fuente de Rickshaw. Pero encontré este.
nvd3 admite mixture graph.
Encontré más una solución que una solución, pero puede ser útil de todos modos.
Puede dibujar dos gráficos del carrito en la parte superior de uno al otro:
<div style="height: 0; overflow: visible;">
<div id="barChart" style="height: 300px;"></div>
</div>
<div style="height: 0; overflow: visible;">
<div id="lineChart" style="height: 300px;"></div>
</div>
Ahora dibuje las dos tablas con dos llamadas a Rickshaw.Graph() para cada uno de los divs tabla. Tenga en cuenta que debe duplicar el último punto en el gráfico de líneas; de lo contrario, no obtendrá coincidencias precisas en el eje x.
Sé que esto es feo, pero puede ser útil para gráficos simples. Sin embargo, no sé qué sucederá si pruebas esto con efectos de desplazamiento o similares.
Si hay una solución limpia para esto, me interesaría también.
Hay un pull request para combinar varias tablas en Rickshaw. Aparentemente, el enfoque aún necesita un refinamiento, pero el código parece funcionar en su mayoría.
Actualmente puede clonar el feature branch y ver si se ajusta a sus propósitos.
¡Ahora puede combinar gráficos en rickshaw!
El tipo de procesador se denomina 'multi'. ¿Cómo funciona es que se da cada serie individuo su propio procesador distinto, es decir
var graph = new Rickshaw.Graph({
element: el, width: 960, height: 500,
padding: { top: 0, right: 0, bottom: 0, left: 0 },
renderer: 'multi',
series: [
{
renderer: 'line',
data: [
{ x: 0, y: 40 },
{ x: 1, y: 49 }
]
},
{
renderer: 'bar',
data: [
{ x: 0, y: 30 },
{ x: 1, y: 60 }
]
},
]
});
ejemplo completo aquí https://github.com/shutterstock/rickshaw/blob/a240899625c2d83961b3e682cd77ab8e5199a866/tests/Rickshaw.Graph.Renderer.Multi.js
- 1. Zoom gráfico de barras con d3.js
- 2. Gráficos en capas en d3.js
- 3. d3.js - transformación y transición, líneas múltiples
- 4. ¿Alguna biblioteca web gráfica o de gráficos tiene soporte para barras de error?
- 5. d3.js: cómo crear "clústeres de gráficos dirigidos por fuerza"
- 6. alternativas de canvas HTML5 para d3.js, biblioteca de visualización de gráficos
- 7. d3.js - barras espaciadas uniformemente en una escala de tiempo
- 8. Biblioteca de gráficos para Ruby
- 9. d3.js y document.onReady
- 10. onClick Opción para Rickshaw Charting
- 11. Hacer que d3.js trabaje con raphael.js
- 12. D3.js Transiciones
- 13. Prueba de Highcharts (biblioteca de gráficos JS) con Cucumber
- 14. Biblioteca de gráficos para Qt
- 15. Biblioteca de dibujo de gráficos a gran escala basada en web
- 16. ¿Utiliza Web Worker y D3.js para generar gráficos de forma asíncrona?
- 17. d3.js save states
- 18. Biblioteca de escena 3D gráfica para Java?
- 19. Barras etiquetadas individualmente para gráficos de barras en matplotlib/Python
- 20. geochart en d3.js
- 21. Gráfica de barras apiladas Matlab
- 22. Gráficos de barras flotantes
- 23. D3.js - cargar y manipular datos externos
- 24. biblioteca "gráfica" ASCII?
- 25. gráficos D3 Directed
- 26. Estoy buscando una API gráfica y de gráficos "visualmente deslumbrante" para la web
- 27. SVG a Canvas con d3.js
- 28. escalando proyecciones d3.js
- 29. gráficos d3.js en archivos de calidad de impresión de alta resolución?
- 30. Área apilada en D3.js