¿Hay alguna biblioteca de gráficos 2D/3D "lista para usar" para C++?
graph wxwidgets (14)
Miré las diferentes opciones para trazar funciones (u otros tipos de gráficos) en una ventana interactiva. Uso principalmente wxWidgets, pero estaría abierto a cualquier otra "interfaz".
Mirando lo que está disponible, esto es lo que he encontrado :
wxPlot : no se actualizó desde 2006. Pero sería un buen candidato si fuera ...
wxMathPlot : características muy nuevas, no maduras, pocas (¿todavía activas?)
libgraph : desactualizado, no rebust, solo 2D y solo muestra imágenes.
koolplot : Demasiado básico, sin control sobre la ventana creada.
EasyBMP : muy básico, solo imágenes de salida.
plotutils : línea de comando solamente.
plplot : C y C ++ API apenas se mantienen. De hecho, en esto se basa wxPlot. Podría ser un candidato también si se actualizan las interfaces C y C ++.
¿Algún comentario? Ideas?
¡Gracias!
¡Oye! ¡Soy el desarrollador de wxMathPlot ! El proyecto está activo: tardé mucho tiempo en obtener una nueva versión, porque el código necesitaba una reescritura parcial para introducir nuevas funciones. Eche un vistazo a la nueva versión 0.1.0: es una gran mejora de las versiones anteriores. De todos modos, no proporciona 3D (incluso si siempre pienso en ello ...).
Aunque este hilo es viejo pero dorado. QCustomPlot es muy recomendable también para complementar esta lista.
Eche un vistazo a wxArt2d , es un marco completo para editar y trazar en 2d. Vea las screenshots de screenshots para más ejemplos.
Algunas características interesantes:
- Lectura y escritura de SVG y CVG
- Varias vistas del mismo documento
- Los cambios se actualizan cuando está inactivo
- Dibujo optimizado de objetos 2d
Geometría AntiGrain (AGG). http://www.antigrain.com/ . Es una biblioteca de gráficos vectoriales 2D de código abierto. Es una biblioteca independiente sin dependencias adicionales. Tiene buena documentación. Python trazando la biblioteca matplotlib utiliza AGG como uno de los back-end.
La biblioteca de juegos Allegro me pareció fácil de usar en el día. Puede valer la pena mirar.
OpenGL. Sin embargo, será difícil y posiblemente reescriba la rueda. Tenga en cuenta que OpenGL es una biblioteca general en 3D y no una biblioteca de trazado específica, pero puede implementar un trazado basado en ella.
Solo una idea: utilice Python como lenguaje de scripts incrustado para trazar sus gráficos. Python tiene una plétora de bibliotecas de trazado .
Usamos una versión antigua de ComponentOne Chart .
puedes usar DISLIN
es bastante limpio!
Proporciono programáticamente los archivos de entrada necesarios al ejecutable de GNUPlot y los invoco usando la función system()
. Es adecuado para mi situación, ya que solo quiero visualizar mis datos durante la investigación. Pero si quieres la funcionalidad de trazado integrada en tu archivo ejecutable, tal vez esto no sea para ti :)