7
votes

Comment arrêter la barchart de cacher des étiquettes pour la valeur de données 0 à Mathematica?

Je l'utilise pour créer un graphique à barres: xxx

avec data = {7, 10, 0, 6, 0, 3, 5} cela donne

mathematica graphiques

Le problème est que certaines des données Les valeurs sont 0 et Barchart 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?

Ceci est avec Mathematica 8.


3 Réponses :


3
votes

L'approche la plus simple consiste à utiliser un hack comme Data /. {(0 | 0,0) -> 0.00001} .

Je pense que cela devrait fonctionner sans avoir besoin d'un piratage. Vous devez également déposer un rapport avec support@wolfram.com.


2 commentaires

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 ou quelque chose de similaire serait mieux.


@Szabolcs bon point. J'ai ajouté votre approche (après avoir examiné brièvement possible possible ...)



6
votes

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"]


1 commentaires

Cela ressemble à la solution la plus propre, même si vous perdez toujours les deuxième étiquettes.



2
votes

Votre code fonctionne comme indiqué dans Mathematica 7 sous Windows 7. xxx

 mathematica graphiques


1 commentaires

Je suppose que j'aurais dû préciser J'utilise Mathematica 8.