Je l'utilise pour créer un graphique à barres: avec p> Le problème est que certaines des données Les valeurs sont 0 et Ceci est avec Mathematica 8. P> P> data = {7, 10, 0, 6, 0, 3, 5} code> cela donne p>
Barchart Code> N'ajoutez même pas d'étiquettes pour eux. Au lieu de cela, il laisse un espace ouvert. Comment puis-je l'obtenir pour toujours ajouter les étiquettes même si les valeurs sont 0? P>
3 Réponses :
L'approche la plus simple consiste à utiliser un hack comme Je pense que cela devrait fonctionner sans avoir besoin d'un piratage. Vous devez également déposer un rapport avec support@wolfram.com. P> Data /. {(0 | 0,0) -> 0.00001} code>. p>
Je me rends compte que j'ai commis une erreur lorsque j'ai édité un exemple de jeu de données et une intrigue dans la question: le jeu de données pourrait être des chiffres réels, donc 0 | 0.0 -> 0.00001 le code> ou quelque chose de similaire serait mieux.
@Szabolcs bon point. J'ai ajouté votre approche (après avoir examiné brièvement possible possible code> ...)
Qu'en est-il de
data = {7, 10, 0, 6, 0, 3, 5} labels = ("label " ~~ ToString[#]) & /@ data BarChart[Reverse@data, BarOrigin -> Left, ChartLabels -> Placed[{Reverse@labels, Reverse@data}, {Axis, After}], ChartElementFunction -> "FadingRectangle"]
Cela ressemble à la solution la plus propre, même si vous perdez toujours les deuxième étiquettes.
Votre code fonctionne comme indiqué dans Mathematica em> 7 sous Windows 7. p> p>
Je suppose que j'aurais dû préciser J'utilise Mathematica 8.
Éventuellement associé: Ne pas recadrer la barillet lors de l'utilisation de la trame au lieu des axes a>
C'est une solution de contournement approximative, mais si rien ne vaut mieux, vous pouvez faire
barchart [inverse [Données /. X_ /; x == 0 -> 10 ^ -5], ... code> (c'est-à-dire remplacer les zéros avec de petits nombres juste avant de tracer). J'ai utilisé le modèle
x_ /; x == 0 code> correspondant à la fois 0 et 0.0 ... je suppose 0 | 0.0 aurait été bien aussi.