Documentazione per Stack Overflow grafico reputazione (Flot)
-
30-09-2019 - |
Domanda
c'è qualche documentazione disponibile per costruire grafico Flot simile a quello che possiamo trovare nella Stack Overflow / scheda reputazione ?
dal codice sorgente posso vedere che i dati viene interrogato a questo indirizzo:. /users/rep-graph/341106/" + ranges.xaxis.from.toFixed(1) + "/" + ranges.xaxis.to.toFixed(1)
ma non so i campi di valori from
e to
l'URL può accettare
Modifica :
In questo grafico, possiamo vedere che due punti sono evidenziati, e il risultato è che due domanda sono elencati sul lato, il che significa che i valori tracciati sono collegati con dall'utente dati definiti .
Tuttavia, se considero l'esempio di PKH, solo i punti (e un'etichetta) sono forniti per Flot:
label: "United States",
data: [[1990, 18.9], [1991, 18.7] ....
Così mi piacerebbe vedere:
- come dati di legame con punti
- come aggiornare un pannello secondo selezione grafico [ma forse questa parte non viene effettivamente fatto da sé Flot]
Soluzione
In questo caso, si sta passando Javascript timestamp indietro tramite l'URL.
Quindi, sul lato back-end, si deve fare qualcosa come questo (pseudocodice):
//get parameters from URL, non-rails people would just use POST or GET variables
$from = $_GET['from']
$to = $_GET['to']
//convert to timestamps in your language
$from = $from/1000
$to = $to/1000
//query your data source with these time-based restrictions
//return a JSON data set with the given restrictions, linking the known timestamps to labels
Per la vostra seconda domanda, avere il vostro lato server restituisce un array associativo, che collega il timestamp a un oggetto di dati, che in questo caso contiene Gain, Perdita, URL, il titolo. Nella richiamata successo, si visualizzarli. Ecco un oggetto dati di esempio:
{ 1274774400000 : {
Gain:0,
Loss:10,
Url:'http://asdf.com',
Title:'We lost some rep here... boohoo'
},
1274947200000 : {
Gain:10,
Loss:0,
Url:'http://asdf.com',
Title:'We gained some rep here... woo!'
}
}
Si può vedere questo tipo di oggetto utilizzato nella funzione showReputation
nella pagina si fa riferimento ... tranne sono tornati una matrice JSON invece di un oggetto.
Un'altra caratteristica si potrebbe facilmente aggiungere dato l'oggetto di dati di cui sopra:. Un evento plotclick che mette in evidenza il dato punto dati quando il clic che
Altri suggerimenti
Sembra che si sta utilizzando la selezione dei plugin di flot. Ecco un esempio di base del suo utilizzo .
ranges
è un argomento al gestore plotselected
, e così from
e to
può essere qualsiasi valore valido per l'asse specificato. (Selezione può essere lungo x, y, oppure (X e Y) assi.)