Il serait très pratique de transmettre des données à flot si je pouvais transmettre certaines données supplémentaires auxquelles je souhaite accéder lorsque l’événement plotclick
est déclenché.
Voici quelques données standard;
[{label: 'first', data: 5, color: '#123'}, { label: 'first', data: 10, color: '#456'}]
Je veux pouvoir faire quelque chose comme;
[{label: 'first', data: 5, color: '#123', my_custom_atsortingbute: 'some data'}, { label: 'first', data: 10, color: '#456', my_custom_atsortingbute: 'some more data'}]
Pour plotclick
événement plotclick
;
$('chart').bind('plotclick', function(event, pos, item) { console.log(item.series.my_custom_atsortingbute) //Or something to that effect });
J’ai simplement essayé d’insérer ce qui précède et en regardant le contenu renvoyé d’un item
intérieur de mon événement plotclick
, il ne semble pas stocker my_custom_atsortingbute
nulle part.
J’ai lu la documentation sur https://github.com/flot/flot/blob/master/API.md et je ne pouvais donner aucune information pertinente.
J’ai cherché sur Google et ici des réponses et je n’ai pas pu en trouver une qui corresponde à mes besoins.
Merci à Khawer Zeshan pour sa solution, cela ne fonctionne toujours pas pour moi;
Voici les données que je transmets;
[{breakdown: "test", color: "#00A4D3", data: 1.5, label: "History"}, {breakdown: "test", color: "#1464F6", data: 0, label: "Geography"}]
Mais l’atsortingbut breakdown
n’apparaît pas dans la sortie de l’ item
.
Tout le rest du graphique semble fonctionner.
Essaye ça
Si vous recherchez les données personnalisées via la variable de data
origine que vous avez utilisée lors de l’initialisation du graphique. les données seront toujours là. Pour une raison quelconque, les données ne sont pas accessibles directement via item
… elles semblent être supprimées.
var data = [ { label: "Series1", data: [[1,1]], myData: "test 1"}, { label: "Series2", data: [[1,1]], myData: "test 2"}, { label: "Series3", data: [[1,1]], myData: "test 3"}, { label: "Series4", data: [[1,1]], myData: "test 4"}, { label: "Series5", data: [[1,1]], myData: "test 5"}, { label: "Series6", data: [[1,5]], myData: "test 6"} ]; $.plot($("#placeholder"), data, { series: { pie: { show: true } }, grid: { hoverable: true, clickable: true } }); $("#placeholder").bind("plotclick", function (event, pos, item) { if (item) { console.log(data[item.seriesIndex]); } });
J’espère que cela pourra aider!
Tu as totalement raison. Vous pouvez utiliser des parameters de données personnalisés à votre convenance
data = [{ data:data1, label:"fixed", lines:{show:true}, my_custom_atsortingbute: 'somedata'}];
Que vous pouvez obtenir vos données personnalisées comme suit
$("#placeholder").bind("plotclick", function (event, pos, item) { if (item) { alert(item.series.my_custom_atsortingbute); } });
VIOLON
console.log (data [item.seriesIndex]);
ça marche pour moi…
Pour la nouvelle version (0.8), la variable personnalisée directement disponible au niveau de la série, comme
console.log (item.series.my_custom_atsortingbute);
Mais pour les versions moins importantes, la méthode IndexId devrait fonctionner.
J’aimerais remercier @Milk Man