Permitir a los usuarios graficar/dibujar datos

Me gusta mucho el soporte de Discourse para LaTeX en línea para hablar de matemáticas y Mermaid para crear diagramas, pero algo que he estado echando de menos es la capacidad de tomar pequeños fragmentos de datos y hacer gráficos x/y con ellos: meterlos en una hoja de cálculo y exportar un png es un fastidio. Pero después de mirar un poco el código fuente del componente de tema de Mermaid, he tenido algo de éxito creando un componente de tema para plotly.js. Está aquí:

Una vez que esté habilitado, puedes hacer un gráfico de dispersión como:

```plotly
data:
  - x: [0,300,400]
    y: [0,950,1050]
    name: Old mempool
  - x: [0,200,400]
    y: [0,700, 1150]
    name: New mempool
layout:
  title: Test plot
```

dando una imagen como

O, presumiblemente, cualquiera de los otros tipos de gráficos que puedes crear pasando valores de datos/diseño a plotly.js.

Una cosa particularmente agradable es que los gráficos son interactivos por defecto, por lo que puedes ver los valores reales de los puntos al pasar el ratón por encima, puedes hacer zoom hacia adentro y hacia afuera, y puedes guardar un png. Y, por supuesto, los datos brutos también están en el código fuente de la publicación.

Aún no lo he desplegado en producción, así que solo puedo decir que parece funcionar en un entorno de prueba; pero quería compartirlo pronto, especialmente en caso de que alguien quiera encargarse de mantenerlo por mí… :slight_smile: (Además, si hay alguna forma mejor de hacer esto que simplemente me he perdido, me encantaría saberlo antes de perder más tiempo en esto…)

(El plotly.js minimizado ocupa más de 4 MB, así que necesitas aumentar el ajuste “tamaño máximo de archivo adjunto” a 5 MB para que funcione, ¿creo?)

9 Me gusta

¡Esto es genial, buen trabajo!

Cuando esté listo para que esto se ejecute en producción, publíquelo en la categoría Theme component. Me encantaría ver esto junto con el componente mermaid. (Tenga en cuenta que también tenemos un plugin de graphviz que hace algo similar).

Y además, plotly tiene una comunidad animada, a ellos también les encantaría saber de esto:

6 Me gusta