5 votes

Correction de l'échelle des marqueurs circulaires dans les diagrammes de dispersion

Je dispose d'un système de particules circulaires de taille finie (disons r=5cm ) que je dois tracer dans un domaine donné (disons L=5m ). Puisqu'ils sont nombreux, scatter est plus rapide que toute utilisation cyclique de rectangle .

Ce qui n'est pas clair pour moi, c'est la manière correcte de définir la fonction diamètre/rayon de la cercles/marqueurs afin de s'adapter correctement à la géométrie du domaine qui est également tracée. (En utilisant rectangle le diamètre de la particule peut être facilement défini).

Sur la base de cette réponse Il est possible de contrôler finement la taille du marqueur, bien que l'échelle réelle soit obscure pour moi.

Quelqu'un peut-il nous éclairer ?

3voto

Oleg Komarov Points 6000

La fonction SCATTER attend de son paramètre "S" qu'il contienne le marqueur en points au carré. Cette surface correspond à la surface d'un carré autour du marqueur.

La source est la solution technique " Comment spécifier la taille des marqueurs créés par le graphe SCATTER en unités proportionnelles aux données tracées dans MATLAB 7.6 (R2008a) ? "

Consultez le code dans le lien.

2voto

Eitan T Points 24450

La documentation officielle États :

MarkerSize
Taille du marqueur . Taille du marqueur en points. La valeur par défaut est 6.

Il convient de noter qu'un point es 1/72 de pouce Il s'agit donc d'une unité de mesure absolue.

Si vous souhaitez ajuster la taille des marqueurs en fonction de l'échelle des axes de votre tracé, procédez à une simple conversion d'unité : calibrez 1 tick sur l'un des axes en points (vous pouvez le faire par tâtonnement), puis normalisez toutes les tailles de marqueurs en fonction de cette valeur (je ne vois toutefois pas comment vous pourriez maintenir la taille des marqueurs en fonction du niveau de zoom du tracé de manière simple).

Par ailleurs, vous pouvez spécifier la taille des marqueurs directement en tant que troisième paramètre de la fonction scatter commande. Cela permet d'éviter l'utilisation de la commande get y set manipulations mentionnées dans la réponse à laquelle vous avez lié votre question.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X