J'utilise le dojox.charting.widget.Chart2D
et j'essaie de récupérer les données d'un dojo.data.ItemFileReadStore
. Je peux récupérer les données, et tout fonctionne et affiche, sauf que je n'arrive pas à trouver un moyen d'afficher des étiquettes personnalisées sur les éléments. Mon code HTML est:Afficher l'étiquette personnalisée du magasin de données avec dojox.charting
<div dojoType="dojo.data.ItemFileReadStore" jsId="chartDataStore"
url="json/archiveinfo.json.php"></div>
<div dojoType="dojox.charting.widget.Chart2D" id="chartTest"
theme="dojox.charting.themes.PlotKit.blue" style="width: 300px; height: 300px;">
<div class="plot" name="default" type="Pie" fontColor="black" htmlLabels="false"
radius="100"></div>
<div class="series" name="Series A" store="chartDataStore" field="y"
label="text" valueFn="Number(x)"></div>
<div class="action" type="Tooltip"></div>
<div class="action" type="MoveSlice"></div>
</div>
Et mon JSON du ItemFileReadStore est:
{"identifier":"id","labelAttribute":"text","items":
[
{"id":1,"y":55,"text":"Free"},
{"id":2,"y":45,"text":"Used"}
]
}
J'ai essayé de placer l'attribut label de la série et ont mis l'labelAttribute
dans le JSON. J'ai également essayé juste label
dans le JSON et cela n'a pas fonctionné non plus. Lorsque je fournis les données sous forme de JSON dans un array
ou que je fournis le data
directement dans la série, les étiquettes fonctionnent. Je voulais vraiment le rendre plus flexible en fournissant les données via un DataStore.
Cela ne semble pas fonctionner. Je génère le JSON selon votre suggestion et j'ai défini '' field = "slice" 'mais le graphique ne rend pas et je ne reçois aucune erreur dans Firebug. J'ai essayé de changer le 'label =" slice.text "' et le 'valueFn =" Number (x.y) "' pensant peut-être que j'avais besoin d'y accéder en tant qu'objets, mais toujours pas de chance. Je suis retourné juste pour m'assurer que je n'ai pas fait d'erreur et que je commence à travailler comme avant. – Kitson
Pas besoin de jouer avec 'label' ou' valueFn', ou quoi que ce soit d'autre. Il semble que j'ai oublié d'enlever 'identifier'. Vous pouvez également supprimer 'id' pour garder vos données plus propres. J'ai effectivement recréé votre exemple, et cela fonctionne pour moi maintenant. –
Woo Hoo! Il fonctionne comme un charme. Merci! – Kitson