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

figure drucken -- MarkerSize

 

molinchen
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 28.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.07.2011, 15:56     Titel: figure drucken -- MarkerSize
  Antworten mit Zitat      
Hallo,

Gibt es in Matlab eine Default-Mindest-MarkerSize die beim Ausdrucken (print-Symbol in der figure) automatisch angewendet wird? Und kann man die verändern? (anzunehmen, wenn es sie gibt)

Ich plotte Positionen, die farbkodiert den RMS darstellen. Darüber plotte ich die Sollposition mit der MarkerSize 3 in schwarz(ich verwende aufgrund von Lücken keine Linie sondern kleine Punkte). Im ausgedruckten Bild sind die schwarzen Punkte genauso dick/groß wie die darunter liegenden farbigen Punkte...
Im printpreview hab ich gesehen, dass man eine Min Width für Linien angeben kann, aber ich habe keine Einstellung für Marker gefunden.

Beim Durchsuchen des Forums bin ich zwar auf interessante Sachen gestoßen, aber nicht auf die Lösung meines Problems.

Danke schon mal
Private Nachricht senden Benutzer-Profile anzeigen


DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 26.07.2011, 18:45     Titel:
  Antworten mit Zitat      
Hallo,

meinst du das?

Code:
plot(...,'MarkerSize',10)


Aus der Doku...
Zitat:

MarkerSize

scalar

Marker size. Size of the marker in points. The default value is 6.

Note MATLAB draws the point marker (specified by the '.' symbol) at one-third the specified size.


Gruß DSP
Private Nachricht senden Benutzer-Profile anzeigen
 
molinchen
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 28.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.07.2011, 08:19     Titel:
  Antworten mit Zitat      
Nein, mein ich nicht. Also auf diese Art und Weise plotte ich meine Punkte, allerdings mit MarkerSize 3
Also

Code:
plot(....,'MarkerSize',3)


Das klappt auch wunderbar. Aber wenn ich das Bild drucken will, stellt Matlab die MarkerSize automatisch größer, so dass im gedruckten Bild die unter den schwarzen Punkten liegenden farbigen Punkte nicht mehr sichtbar sind.


Edit: Ich hab nun noch zwei Screenshots angehängt, wodurch das Problem vielleicht deutlicher wird.

Gruß moli

Screenshot Ausdruck.jpg
 Beschreibung:
hier sind die schwarzen Punkte zu groß

Download
 Dateiname:  Screenshot Ausdruck.jpg
 Dateigröße:  3.69 KB
 Heruntergeladen:  1163 mal
Screenshot figure.jpg
 Beschreibung:
so sollte es auch gedruckt aussehen

Download
 Dateiname:  Screenshot figure.jpg
 Dateigröße:  4.66 KB
 Heruntergeladen:  1108 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Idefix_1024
Forum-Century

Forum-Century


Beiträge: 230
Anmeldedatum: 16.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.07.2011, 08:36     Titel:
  Antworten mit Zitat      
also leider kann ich mir nicht vorstellen was genau Du vor hast...

kannst Du vielleicht eine vereinfachte Kurzversion des Problems posten?

ich hätte jetzt, wie auch DSP erwartet, dass Du nach MarkerSize suchst...
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 27.07.2011, 08:39     Titel:
  Antworten mit Zitat      
Druckst du das Bild direkt aus der Figur raus, oder kopierst du sie und speicherst sie zunächst in ein anderes Format?
Private Nachricht senden Benutzer-Profile anzeigen
 
molinchen
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 28.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.07.2011, 08:47     Titel:
  Antworten mit Zitat      
Ich druck es direkt aus der figure heraus, mit dem Drucker-Icon.
Private Nachricht senden Benutzer-Profile anzeigen
 
Idefix_1024
Forum-Century

Forum-Century


Beiträge: 230
Anmeldedatum: 16.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.07.2011, 08:47     Titel:
  Antworten mit Zitat      
hier vielleicht mal ein Ansatz der schneller zur Lösung führt...

ich würde das z.B. in Matlab so schreiben

Code:

x   = 0:0.01:2*pi;
y1  = sin(x);
y2  = cos(x);


h=figure(1)
hold on
plot(x,y1,'r.','MarkerSize',10)
plot(x,y2,'b.','MarkerSize',2)
hold off
grid on
set(h,'PaperOrientation', 'landscape','PaperType', 'A4')
set(h, 'PaperUnits', 'normalized', 'PaperPositionMode','auto');
saveas(h,'plot','pdf')
saveas(h,'plot','jpeg')
 


und wenn ich mir das jpeg anschaue dann passt das auch... die Frage ist nun warum klappt das bei Dir nicht? Dazu müßte man wissen wie Du den plot genau machst.

Grüße,
Idefix_1024
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 27.07.2011, 08:54     Titel:
  Antworten mit Zitat      
Evtl. hilft dir der Code von Idefix ja schon weiter.

Ansonsten fällt mir jetzt nur ein, mal in der printpreview nach den eingestellten Werten unter Lines/Text nachzusehen.

http://www.mathworks.com/help/techdoc/ref/printpreview.html
Private Nachricht senden Benutzer-Profile anzeigen
 
molinchen
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 28.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.07.2011, 09:13     Titel:
  Antworten mit Zitat      
Danke schon mal für eure Hilfe. Ich hab hier mal ein Beispiel produziert:
Code:
x1   = 0:0.05:2*pi;
y1  = sin(x1);
z1=  cos(x1);
 
x2= 0:0.01:2*pi;
y2=sin(x2);
 
x = x1(:)*[1 1];
y = y1(:)*[1 1];
z= z1(:)*[1 1];
c=z;

h_fig=figure(1);
h = mesh(x,y,z,c);
set(h,'linestyle','.','markersize',8,'MarkerFaceColor','flat')
view(2)

hold on

plot3(x2,y2,10*ones(size(x2)),'k.','MarkerSize',3)
hold off

set(h_fig, 'PaperUnits', 'normalized', 'PaperPositionMode','auto');
set(h_fig,'PaperOrientation', 'landscape','PaperType', 'A4')
saveas(h_fig,'plot','pdf')
saveas(h_fig,'plot','jpeg')


Das "lustige" ist, dass nun das pdf richtig aussieht und beim jpeg die schwarzen Punkte zu fett sind. Irgendwie verstehe ich das nicht, warum das so ist!


Im printpreview finde ich nur Werte für Mindestdicke bei lines, nicht für Markers. Ich glaube aber auch, dass ich noch nicht alle Eingabemöglichkeiten bei printpreview verstanden habe.

verwirrten Gruß Moli

plot.pdf
 Beschreibung:

Download
 Dateiname:  plot.pdf
 Dateigröße:  45.74 KB
 Heruntergeladen:  505 mal
plot.jpg
 Beschreibung:

Download
 Dateiname:  plot.jpg
 Dateigröße:  59.17 KB
 Heruntergeladen:  1112 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 27.07.2011, 09:27     Titel:
  Antworten mit Zitat      
jpeg ist ohnehin Mist...

Dann nutze doch diesen Weg mit dem pdf, alternativ kannst du ja auch noch bmp oder png ausprobieren, und drucke erst dann die gespeicherte Datei, als direkt aus der Figure heraus.

Was das Setup lines in der printpreview betrifft, könnte das doch auch für die Marker gelten. Ganz viele Marker eng hintereinander ergeben auch eine Linie. Ich habe die Einstellungen dort noch nie benutzt...bei den Exportoptions der Figur gibt es auch nur den Parameter Line. Dort ändern sich die Punkte aber auch mit...
Private Nachricht senden Benutzer-Profile anzeigen
 
Idefix_1024
Forum-Century

Forum-Century


Beiträge: 230
Anmeldedatum: 16.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.07.2011, 09:56     Titel:
  Antworten mit Zitat      
nun das verstehe ich zwar nicht aber wenn man die plot Befehle umdreht dann klappts bei mir...


also:
Code:

x1   = 0:0.05:2*pi;
y1  = sin(x1);
z1=  cos(x1);
 
x2= 0:0.01:2*pi;
y2=sin(x2);
 
x = x1(:)*[1 1];
y = y1(:)*[1 1];
z= z1(:)*[1 1];
c=z;

h_fig=figure(2);
hold on
plot3(x2,y2,10*ones(size(x2)),'k.','MarkerSize',3)
h = mesh(x,y,z,c);
set(h,'linestyle','.','markersize',8)
view(2)
hold off

set(h_fig, 'PaperUnits', 'normalized', 'PaperPositionMode','auto')
set(h_fig,'PaperOrientation', 'landscape','PaperType', 'A4')
saveas(h_fig,'plot2','pdf')
saveas(h_fig,'plot2','jpeg')
 


wenn mir das nun einer erklären könnte fände ich das schon interessant...

Grüße,
Idefix_1024
Private Nachricht senden Benutzer-Profile anzeigen
 
molinchen
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 28.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.07.2011, 10:24     Titel:
  Antworten mit Zitat      
also:
1. wenn ich die plot-Befehle umdrehe, klappts genauso wenig.
2. wenn ich das Beispiel auf mein eigentliches "Problem" anwende, klappt es mit pdf auch nicht. Dort liegt dann die schwarze Linie unter der bunten, ist also nur in den Abweichungsregionen zu sehen.
3. ich hab das Speichern nun mit jpeg, png, bmp, tiff gestestet, immer mal wieder was anderes.
4. momentan klappt es bei bmp am besten, deswegen nutze ich das nun. Es würde mich aber nicht wundern, wenn nach Matlabneustart, auch was anderes wieder gehen oder nicht gehen würde...

Lange Liste, kurzer Sinn. Ich verstehe das ganze absolut nicht! Aber vielen Dank an euch beide, dass ihr mir helfen wolltet bzw soweit geholfen habt, dass ich zumindest aktuell so weiter machen kann.

Ich glaub immer noch, dass Matlab denkt oder dass da ein kleines Männchen sitzt, dass mich ärgern will Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
molinchen
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 28.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.07.2011, 12:30     Titel:
  Antworten mit Zitat      
ich hab nun zwei Stunden damit fröhlich vor mich hingearbeitet, verschiedene Fälle angeschaut, einige ausgedruckt, alles wunderbar...

jetzt seit neuestem (ich mache nichts anders als vor 10 Minuten), kommt eine Fehlermeldung in "render" und die gespeicherten bmp haben nun die Hintergrundfarbe grau.

nun setz ich die Hintergrundfarbe auf weiß,und den Renderer auf painters und freue mich, dass es wieder geht.
Code:
set(h_fig,'color','w','Renderer','painters')

Warum ich den Renderer auf painters setze weiß ich nicht; das habe ich im Print Preview als Renderer-Option gefunden und ausprobiert.
Mein Verständnis schraubt sich immer mehr zurück.

Wenn mich jemand aufklären könnte, wäre es schön, ansonsten geb ich noch ein paar mal
Code:

ein und mach dann weiter...
Private Nachricht senden Benutzer-Profile anzeigen
 
Micha85

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.07.2011, 13:17     Titel:
  Antworten mit Zitat      
Hi,

ich habe auch schon feststellen müssen, dass zwischen der Anzeige in einem Figure und dem Druck oftmals große Abweichungen liegen.
Ich nutze den Befehl "print" um meine erzeugten Plots zu speichern.
Du könntest ja Deine Plots mittels print abspeichern und dann die MarkerSize optimieren. So hast Du dann wenigstens vor dem Drucken eine Kontrolle wie das Ganze dann aussehen wird.

Ich weiß, das ist keine Lösung des Problems, aber vielleicht hilft es Dir ja trotzdem etwas weiter.

Grüße
Micha
 
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.