Ajout d’atsortingbuts personnalisés aux données flot

Le problème

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é.

Mes données

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 }); 

Ce que j’ai essayé

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.

Mettre à jour

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