Permettere agli utenti di tracciare/illustrate i dati

Mi piace molto il supporto di Discourse per LaTeX inline per parlare di matematica e Mermaid per creare diagrammi, ma una cosa che mi è mancata è la possibilità di estrarre piccoli pezzi di dati e creare grafici x/y – passare a un foglio di calcolo ed esportare un png è una seccatura. Ma dopo aver dato un’occhiata al codice sorgente del componente tema di Mermaid, ho avuto un po’ di successo nel creare un componente tema per plotly.js. È qui:

Una volta abilitato, puoi creare un grafico a dispersione come:

```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
```

ottenendo un’immagine come

Oppure, presumibilmente, qualsiasi altro tipo di grafico che puoi creare passando valori di dati/layout a plotly.js.

Una cosa particolarmente interessante è che i grafici sono interattivi per impostazione predefinita, quindi puoi vedere i valori effettivi dei punti passando il mouse sopra, puoi ingrandire e ridurre e puoi salvare un png. E naturalmente, i dati grezzi sono presenti anche nel codice sorgente del post.

Non l’ho ancora distribuito in produzione, quindi posso solo dire che sembra funzionare in un ambiente di test; ma volevo condividerlo presto, soprattutto nel caso in cui qualcuno volesse prendersi la responsabilità di mantenerlo per me… :slight_smile: (Inoltre, se c’è un modo migliore per farlo che mi sia semplicemente sfuggito, sarei felice di scoprirlo prima di perdere altro tempo su questo…)

(Il plotly js minificato è di oltre 4 MB, quindi è necessario aumentare l’impostazione “dimensione massima dell’allegato” a 5 MB perché funzioni, credo?)

9 Mi Piace

Questo è fantastico, buon lavoro!

Quando sarai pronto per eseguirlo in produzione, pubblicalo nella categoria Theme component. Mi piacerebbe vederlo insieme al componente mermaid. (Nota anche che abbiamo un plugin graphviz che fa qualcosa di simile.)

Inoltre, plotly ha una comunità vivace, anche a loro piacerebbe saperlo:

6 Mi Piace