WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Matlab malt die Pfeilspitze schief (annotation('arrow'))

 

Fabse
Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 17.07.15
Wohnort: ---
Version: 2015a
     Beitrag Verfasst am: 08.02.2016, 05:54     Titel: Matlab malt die Pfeilspitze schief (annotation('arrow'))
  Antworten mit Zitat      
Hallo,

leider malt Matlab die Pfeilspitzen schief (s. Bild). Das sieht ja furchtbar aus. Woran liegt das und was kann ich da machen?

Geplottet wird mit
Code:

h = annotation('arrow');
set(h,'parent', gca,'position', [x(1),y(1),x(2)-x(1),y(2)-y(1)], ...
    'HeadLength', HeadLength, 'HeadWidth', HeadWidth, 'HeadStyle', 'vback3', 'LineWidth',LineWidth);
 


ArrowPainter600resuntitledAusschnitt.png
 Beschreibung:

Download
 Dateiname:  ArrowPainter600resuntitledAusschnitt.png
 Dateigröße:  105.42 KB
 Heruntergeladen:  379 mal
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 08.02.2016, 11:36     Titel: Re: Matlab malt die Pfeilspitze schief (annotation('arrow'))
  Antworten mit Zitat      
Hallo Fabse,

Bitte poste ein Beispiel, das per Copy&Paste das Probleme reproduziert, und die von Dir verwendete Matlab-Version.
Wie exportierst Du die Grafik? Möchtest Du sie als Vektor-Grafik oder als Pixel-Bild bekommen? Wieso verwendest Du annotation ? Kennst Du Matlab's FileExchange - falls nicht, suche das mal im Netz. Dort findest Du dutzende Beiträge zum Thema Pfeile.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Fabse
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 17.07.15
Wohnort: ---
Version: 2015a
     Beitrag Verfasst am: 08.02.2016, 13:49     Titel:
  Antworten mit Zitat      
So sieht ein Stückchen Beispielcode zum Reproduzieren des Problems aus (Matlab 2015a):
Code:

[x,y]=meshgrid(-5:5)
u=x.*(1./x).^2;
v=y.*(1./y).^2;

u(isnan(u))=0
v(isnan(v))=0

figure;
hold on
tmpFak=1;
for jj=1:length(x(:))
    drawArrow([x(jj) x(jj)+u(jj)*tmpFak],[y(jj) y(jj)+v(jj)*tmpFak],{});
end;
axis equal


Und die Arrowplot-Funktion 'drawArrow':
Code:
function [ h ] = drawArrow( x,y)
h = annotation('arrow');
HeadLength=8;
HeadWidth=10;
LineWidth=1;
set(h,'parent', gca,'position', [x(1),y(1),x(2)-x(1),y(2)-y(1)], ...
    'HeadLength', HeadLength, 'HeadWidth', HeadWidth, 'HeadStyle', 'vback3', 'LineWidth',LineWidth);
 


---> Ich erhalte lauter falsch ausgerichtete Pfeilspitzen!


Die Fileexchange-Arrow Geschichten habe ich mir schon angeschaut - die benutzen aber auch eine annotation oder lassen mich nicht das machen was ich brauch... Ich brauche nämlich die Möglichkeit Pfeile- und der Spitzen, "kontinuierlich" auszublenden - sprich, ist die Pfeillängen kürzer, sollen (ab einer gewissen Schwelle) auch Spitzenlänge und -dicke kleiner werden (das habe ich zur Übersicht im Beispiel hier nicht eingebaut).

Zum Exportieren: Ich möchte ein keine Vektorgrafik sondern eine Pixelgrafik die Transparenz unterstützt (bmp, png oder sowas). Hundert und eine Möglichkeit des Exportieren habe ich schon ausprobiert (export, saveas, savefig, painters, OpenGL...) aber nichts hilft.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.