Documentation pour la pile graphique de réputation débordement (Flot)
-
30-09-2019 - |
Question
est-il une documentation disponible pour construire le graphique Flot similaire à ce que nous pouvons trouver dans le Stack Overflow / l'onglet de réputation?
à partir du code source, je peux voir que les données sont interrogées à l'adresse suivante:. /users/rep-graph/341106/" + ranges.xaxis.from.toFixed(1) + "/" + ranges.xaxis.to.toFixed(1)
mais je ne sais pas les valeurs des champs de from
et to
dans l'URL peut accepter
EDIT :
Dans ce graphique, nous pouvons voir que deux points sont mis en évidence, et le résultat est que deux question sont répertoriés sur le côté, ce qui signifie que les valeurs sont tracées liées à Utilisateur- données définies .
Cependant, si je considère l'exemple de pkh, seuls les Points (et une étiquette) sont fournis à Flot:
label: "United States",
data: [[1990, 18.9], [1991, 18.7] ....
Je voudrais voir:
- comment les données de lien avec des points
- comment mettre à jour un panneau selon la sélection graphique [mais peut-être cette partie n'est pas réellement fait par lui-même Flot]
La solution
Dans ce cas, ils passent Javascript horodatages retour via l'URL.
du côté back-end, ils doivent être en train de faire quelque chose comme ça (pseudo-code):
//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
Pour votre 2ème question, demandez à votre côté serveur retourne un tableau associatif, reliant l'horodatage à un objet de données, qui contient dans ce cas de gain, perte, URL, le titre. Dans le rappel de succès, vous les afficher. Voici un exemple objet de données:
{ 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!'
}
}
Vous pouvez voir ce type d'objet utilisé dans la fonction showReputation
dans la page ... vous avez fait référence, sauf qu'ils sont revenus un tableau JSON au lieu d'un objet.
Une autre caractéristique vous pouvez facilement ajouter étant donné l'objet de données ci-dessus:. Un événement plotclick qui met en évidence le point de données donné lorsque le cliquez dessus
Autres conseils
On dirait qu'ils utilisent le plug-in de sélection de Flot. Voici un exemple de base de son utilisation .
ranges
est un argument au gestionnaire d'plotselected
, et ainsi from
et to
peuvent être toute valeur valide pour l'axe donné. (La sélection peut être le long d'axes X, Y, ou (x et y).)