IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Epaisseur Grid et Axes [Débutant]


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Post-Doc Ecologie
    Inscrit en
    Juillet 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Taïwan

    Informations professionnelles :
    Activité : Post-Doc Ecologie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2007
    Messages : 76
    Par défaut Epaisseur Grid et Axes
    Bonjour,

    Je travaille sur une figure, une carte géographiques.
    Je souhaite inclure un "grillage" sur cette carte.

    J'utilise: .

    Cela fait bien ce que je demande, toutefois l'épaisseur des traits du grillage ne me va pas.
    Je change alors en utilisant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set(gca,'GridLineStyle','-','LineWidth',1)
    Et là je me rend compte que l'épaisseur du trait était déjà renseigné par une ligne au dessus:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set(gca,'XTickLabel',[],'YTickLabel',[],'LineWidth',3)
    Cette ligne me servait à retirer les indications des graduations, et à épaissir les axes X et Y.

    Est-ce que les propriétés de la grille sont toujours reliées aux axes?
    J'ai essayé dans les 2 sens, cad, changer l'épaisseur des axes avant ou après l'épaisseur du grillage. Sans résultat.

    Il s'agirait dans les deux cas d'objets "AXE" ou "LINE", situés sur la même couche. Même si je les ajoutes l'un après l'autre, finalement en renseignant une propriété dans l'un puis dans l'autre, je change la même propriété.

    Est-ce que je me trompe?
    Je ne suis pas si je suis très clair.

    Quelqu'un aurait un élément de réponse, comment changer l'épaisseur du grillage sans toucher à l'épaisseur des axes X et Y?

    Peut-être faudrait-il que je m'intéresse aux "Handle" J 'avoue je n'ai pas encore pris le temps...

    Merci

  2. #2
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Citation Envoyé par sylvain62 Voir le message
    Est-ce que les propriétés de la grille sont toujours reliées aux axes?
    Oui car le "Grid" est une propriété de l'objet axes au même titre que la propriété "Linewidth", et non pas un objet.
    Il n'y a donc pas d'épaisseur de ligne spécifique pour le quadrillage.
    Il aurait fallu pour cela qu'il existe une proprité GridLineWidth (comme GridLineStyle), ce qui n'est pas le cas (en tout cas dans ma version).

    Sinon il faut que tu fasses ton quadrillage "à la main" c'est à dire avec des objets Line (bon courage ).

  3. #3
    Membre confirmé
    Homme Profil pro
    Post-Doc Ecologie
    Inscrit en
    Juillet 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Taïwan

    Informations professionnelles :
    Activité : Post-Doc Ecologie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2007
    Messages : 76
    Par défaut
    Merci pour ta réponse,

    Effectivement GridLineWidth n'existe pas dans la version 7.6.0.324 que j'ai (j'ai essayé de l'introduire dans le code mais je n'ai pas réussi à duper Matlab).

    Bon pour le quadrillage à la main... comme tu dis.

    Je crois que je vais exporter ça en metafiles et m'arranger avec un logiciel de retouche d'images.

    Merci encore

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Et la bonne vieille technique de l'axes invisible alors...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    figure
     
    plot(rand(3,5),rand(3,5))
    set(gca,'XTickLabel',[],'YTickLabel',[],'LineWidth',3,...
        'color','none');
     
    ax = copyobj(gca,gcf);
    set(ax,'color','w','linewidth',1,'xcolor','b','xgrid','on','ycolor','r','ygrid','on')
    uistack(ax,'bottom')
    Images attachées Images attachées  

  5. #5
    Membre confirmé
    Homme Profil pro
    Post-Doc Ecologie
    Inscrit en
    Juillet 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Taïwan

    Informations professionnelles :
    Activité : Post-Doc Ecologie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2007
    Messages : 76
    Par défaut
    Je faisais un tour pour voir les différentes discussions que j'avais lancées.
    Et je n'avais pas vu que j'avais une autre réponse à cette question.

    Merci Dut, effectivement ça marche bien comme ça.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Par défaut
    Je rebondis juste sur la remarque de Caro-line.

    Citation Envoyé par Caro-Line Voir le message
    Sinon il faut que tu fasses ton quadrillage "à la main" c'est à dire avec des objets Line (bon courage ).
    C'est pas si compliqué que ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    % Définir le maillage de la grille 
    x=linspace(xmin,xmax,nbx+1); nombre de découpage en x
    y=linspace(ymin,ymax,nby+1); nombre de découpage en y
     
    line([x(:) x(:)],[y(1) y(end)],'color',[0 0 0],'linewidth',1); % maillage vertical, couleur en option
    line([x(1) x(end)],[y(:) y(:)],'color','k','linewidth',1,'linestyle',':'); % maillage horizontal
    et voilou !

  7. #7
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Citation Envoyé par Merel Voir le message
    C'est pas si compliqué que ca
    La seule limite est que si tu changes les limites des axes, la "grille" ne s'affichera plus correctement.

    Alors que dans la solution que je propose, un simple LINKAXES et le tour est joué

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Par défaut
    Si tu fais des modifications directs sur la figure, je suis d'accord avec toi Dut.

    Mais bien souvent dans le cadre d'étude géographique, tu connais ton domaine avant de faire des graphes. En règle général, les paramètres de la grilles sont stokés dans un fichier qu'il suffit de lire en début de code.

    Mais bon, ce code était juste là pour montrer qu'on pouvait faire sa propre grid sans trop de difficulté si jamais les points de la fonction "grid on" ne nous convenait pas ^_^

    edit : après vérification, si on fait un modif des axes (xlim par exemple), la grille s'affichera correctement mais uniquement sur la partie du graphe entre les valeurs xmin et xmax.

  9. #9
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Au passage :

    s'écrit aussi


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Chart - Epaisseur trait d'axe X=0 et Y=0
    Par Gualino dans le forum VB.NET
    Réponses: 2
    Dernier message: 17/11/2011, 10h10
  2. capter l'evenement clic sur une cellule d'un string grid
    Par lasconic dans le forum Composants VCL
    Réponses: 3
    Dernier message: 25/06/2003, 10h51
  3. [VB6] Modification des axes d'un composant Chart
    Par HPJ dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 21/05/2003, 08h33
  4. Centrer un texte dans un string Grid
    Par christine dans le forum C++Builder
    Réponses: 5
    Dernier message: 22/10/2002, 22h33
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo