Gnuplot comment diminuer le nombre de tics dans l'axe x
La figure a trop de xtics et ytics. Puis-je avoir la moitié d'entre eux?
Je sais que je peux définir manuellement les tics d'une manière similaire à ceci:
set xtics (1,2,4,8,16,32,64,128,256,512,1024)
Mais je pense qu'il n'est pas une solution générale. Vous ne pouvez pas définir manuellement les tics pour tous les chiffres. J'ai des tas d'entre eux et le gnuplot code est généré automatiquement à l'aide de Java.
Voici le code de la figure: https://dl.dropboxusercontent.com/u/45318932/gnuplot2.plt
Peut vous aider à réduire le nombre de x et de y tics?
Le lien ne fonctionne plus. Pouvez-vous poster le code sur pastebin par exemple?
Zhang Pourquoi ne pas vous poster votre code ici?
Zhang Pourquoi ne pas vous poster votre code ici?
OriginalL'auteur Changwang Zhang | 2014-04-18
Vous devez vous connecter pour publier un commentaire.
Il n'y a pas d'option dans gnuplot à définir explicitement le nombre de tics que vous voulez sur un axe et ont gnuplot décider de l'endroit où les mettre. (J'aimerais vraiment qu'il y en avait.)
Une option que vous avez est d'utiliser le
stats
de commande (dans gnuplot 4.6+) pour trouver la plage des données:Vous pourriez avoir à ajuster si vous voulez les tics d'être à valeurs entières ou pas, mais c'est l'idée générale.
OriginalL'auteur andyras
Il y a différentes façons de définir le nombre de tics selon ce exactement que vous voulez faire. Pour un segment de longueur 2, en commençant à zéro et se terminant à 32:
Si vous voulez une exponentielle de l'incrément, essayez les solutions suivantes
Ou vous pouvez utiliser une échelle logarithmique (en base 2 dans ce cas):
Désolé, ce n'est pas venu à travers pour moi quand j'ai lu votre question. Alors je vous recommande d'une variante de l'approche proposée par @andyras, vous vérifiez les plages avec la
stats
commande, puis définissez les tics en fonction du nombre de tics que vous voulez.Vous pourriez de nouveau déposer une fonction de demande 🙂 Le problème de la
stats
approche pourrait être, qu'il va probablement générer des affreux tic étapes. Gnuplot prend habituellement le tic position en compte pour la mise à l'échelle automatique, afin de simuler correctement comprendrait arrondir les résultats statistiques correctement.Merci. Votre réponse me permet d'apprendre des morceaux de gnuplot.
Je suis d'accord avec @Christoph que ma méthode est généralement le résultat dans drôle de tic positions si l'axe de la gamme n'est pas bien divisible par le nombre de tics que je veux. J'ai déposé une demande de fonctionnalité, puisque c'est quelque chose que je voulais depuis longtemps (sourceforge.net/p/gnuplot/feature-requests/387).
OriginalL'auteur Miguel
J'ai eu un problème similaire que j'ai voulu traiter un peu plus génériquement dans le cas où les modifications de données, tout en utilisant un peu ronde à la recherche des numéros. Donc j'ai fait une fonction d'assistance:
Ensuite, j'ai juste à passer dans la gamme de l'axe, la plupart des incréments je veux, et un très limite inférieure deviner ce que j'attends le plus petit incrément d'être. Pour garder l'arrondi à la recherche des numéros de mes fonctions assumer la conjecture est exprimable sous la forme
1eN
ou5eN
pour une certaine valeurN
. Ie (50 est bon, donc on est 0.0000001, 505 n'est pas). Avec cette fonction, vous avez juste à faire quelque chose commesera de retour une
incr
de moins de 6 tics, et il devrait y en avoir plusieurs en supposant STATS_MAX > 1e-9.OriginalL'auteur Michael Benedict