Estoy buscando una biblioteca de JavaScript que pueda producir diagramas de Venn .
Requisitos
La habilidad para
Prima
La habilidad para
A = {1;5;10}
y B = {5;20}
, el diagrama incluiría los números de A en el primer "círculo" (lo mismo ocurre con B) y también se mostraría A ∩ B = {5}
en el área de intersección)Ejemplo
A ∩ B
en rojo(Imagen tomada de aquí , Dominio Público)
GitHub: https://github.com/benfred/venn.js
Utiliza D3.js como biblioteca de gráficos subyacente.
// Code taken from the GitHub repository, the license specified there applies.
// define sets and set set intersections
var sets = [{label: "A", size: 10}, {label: "B", size: 10}],
overlaps = [{sets: [0,1], size: 2}];
// get positions for each set
sets = venn.venn(sets, overlaps);
// draw the diagram in the 'simple_example' div
venn.drawD3Diagram(d3.select(".simple_example"), sets, 300, 300);
No he intentado elegir colores personalizados, pero es probable que sea posible.
También puede diseñar arbitrariamente áreas de intersección: http://benfred.github.io/venn.js/examples/intersection_tooltip.html
Ver el primer ejemplo.
No es posible que yo sepa. (Debo admitir que no he leído completamente la documentación y el código).
Hay algunos casos en los que los círculos no se pueden diseñar correctamente. Cambiar al algoritmo de escalado multidimensional podría resolver estos problemas en algunos casos: http://benfred.github.io/venn.js/examples/mds.html
Sin embargo, también me he encontrado con otros casos extremos en los que la falla del diseño se debe a la escala proporcional de los círculos. Es posible que desee leer los artículos del blog del autor sobre los problemas que enfrenta al dibujar diagramas de Venn:
Venn.js requiere que usted mismo construya las superposiciones y conjuntos. Si alguien está interesado en la capacidad de ingresar {1;2;3} ∩ {2;3}
, he escrito una pequeña biblioteca para hacer esto. Tal vez ponga el código en GitHub en algún momento en el futuro.
Github: https://github.com/lafarer/d3-venn
Demostración: http://bl.ocks.org/lafarer/0f7677bdfa6c3ab7f6c3
Puede especificar conjuntos y regiones (intersecciones), combinación de colores; es compatible con los eventos y la selección del ratón. Funciona hasta 7 juegos.
Descargo de responsabilidad: soy el autor de este complemento d3
Mohammad Reza Rezwani