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

Text in Figure schreiben

 

Henrik123
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 87
Anmeldedatum: 25.01.17
Wohnort: ---
Version: 2011a, 2017a
     Beitrag Verfasst am: 26.01.2017, 18:11     Titel: Text in Figure schreiben
  Antworten mit Zitat      
Hallo liebes Forum,

danke nochmal für die Hilfe beim letzten Schreiben. Mittlwerweile stehe ich vor einem anderen Problem. Ich habe eine Grafik mit n belibigen horizontalen Linien. Auf jede Linie soll ein entsprechender Text. Mein Programmcode sieht so aus:

Code:

freq = {125,250,500,1000,1500,2000};
nBlocks = length(freq)

width = 2*nBlocks+1
Housing = zeros(1,width-1);      %1 mal 12 Array, was in ungeraden Spalten zuvor mit Werten zwischen 0 und 0,2 gefüllt wurde

%---Create Figure of data---%
OpenFig([8 6],'latex');                                                    
hold all
set(gcf,'DefaultLineLineWidth',0.5);
for iBlock = 1:nBlocks
    plot([0,35],[Housing(:,iBlock*2-1),Housing(:,iBlock*2-1)],'--k')
   
    x = 20;
    y = iBlock*2-1;
    txt1 = '\Housing' num2str(freq{iBlock}) 'Hz';
    text(x,y,txt1)
end

xlim([0 35])
ylim([0 0.2])
NumTicksX = 8;
LX = get(gca,'XLim');
set(gca,'XTick',linspace(LX(1),LX(2),NumTicksX));
legend(list,'Location','northwest')
grid on
box on
xlabel('position $[\mathrm{mm}]$')
ylabel('amplitude $[\mathrm{\mu m}]$')
FormatFig(-0.7,0.2);
%PlotFig(['Shaker response (acceleration) (' inname{1}(1:5) ')']);
PlotFig(['BM FFT Amplitude']);
 


Leider habe ich folgende Fehlermeldung die ich nicht verstehe.
Code:

Warning: Unable to interpret LaTeX string "\Housing_Hz"
> In graphics\private\prepare at 44
  In print>LocalPrint at 259
  In print at 228
  In PlotFig at 81
  In Auswertung_txt_files at 139

??? Error: File: Auswertung_txt_files.m Line: 123 Column: 23
Unexpected MATLAB expression.

 


Eigentlich soll die fertige Datei folgendes Ergebniss ausspucken.

BM FFT Amplitude.pdf
 Beschreibung:
Hier fehlen noch die Texte über den horizontalen Linien

Download
 Dateiname:  BM FFT Amplitude.pdf
 Dateigröße:  8.94 KB
 Heruntergeladen:  335 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.01.2017, 23:52     Titel:
  Antworten mit Zitat      
Hallo,

In dem PDF taucht nichts mit Housing auf. Wie soll das als interpretiert werden?
Möchtest du \ und _ tatsächlich im Bild sehen oder soll der _ als Tiefsetzen interpretiert werden?

Die Ursache des Fehlers kann ich nicht erkennen, da dein geposteter Code keine 123 Zeilen hat. Es ist aber recht ungewöhnlich, dass dann der vorherige Code überhaupt ausgeführt wurde.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Henrik123
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 87
Anmeldedatum: 25.01.17
Wohnort: ---
Version: 2011a, 2017a
     Beitrag Verfasst am: 27.01.2017, 00:06     Titel:
  Antworten mit Zitat      
Entschuldige. Das eigentliche Programm ist länger. Ich habe jetzt nur das wesentliche übernommen. Natürlich kann ich auch das ganze Programm reinsetzen. Das werde ich morgen früh wohl gleich nachholen. Dann kommt man auf die 123 Zeilen.

In der PDF taucht auch nichts mit Housing auf, weil er es nicht darstellt. Das Kommentare sollte da weiterhelfen.

Vielen Dank für die schnelle Antwort.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 27.01.2017, 01:05     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Natürlich kann ich auch das ganze Programm reinsetzen.

Das ist nicht nötig, solange du Zeile 123 kenntlich machst.

Zitat:
Das Kommentare sollte da weiterhelfen.

Ich sehe keinen Kommentar, der sich auf "Housing" bezieht.

Bitte auch auf die Fragen eingehen:
Zitat:
Möchtest du \ und _ tatsächlich im Bild sehen oder soll der _ als Tiefsetzen interpretiert werden?


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Henrik123
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 87
Anmeldedatum: 25.01.17
Wohnort: ---
Version: 2011a, 2017a
     Beitrag Verfasst am: 27.01.2017, 09:23     Titel:
  Antworten mit Zitat      
Zeile 123 ist diese hier.

Code:
txt1 = '\Housing' num2str(freq{iBlock}) 'Hz';


Bezüglich des Kommentars zur PDF

Zitat:
Hier fehlen noch die Texte über den horizontalen Linien


Damit meinte ich die Textpassage "Housing".

Über den horizontalen Linien, sind sechs Stück, möchte ich folgenden Text haben.

"Housing 125 Hz" für Linie 1,
"Housing 250 Hz" für Linie 2 usw.

Probleme bereitet mir das num2str. Er weigert sich die gespeicherten Werte im Array freq über die Schleife mit der Laufzahl iBlock auszugeben.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 27.01.2017, 09:49     Titel:
  Antworten mit Zitat      
Hallo,

noch einmal: was ist die Absicht mit dem \ ?

Versuch's mal hiermit:
Code:
txt1 = ['Housing' num2str(freq{iBlock}) 'Hz'];


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Henrik123
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 87
Anmeldedatum: 25.01.17
Wohnort: ---
Version: 2011a, 2017a
     Beitrag Verfasst am: 27.01.2017, 10:07     Titel:
  Antworten mit Zitat      
Zitat:
noch einmal: was ist die Absicht mit dem \ ?

Tippfehler ^^
Private Nachricht senden Benutzer-Profile anzeigen
 
Henrik123
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 87
Anmeldedatum: 25.01.17
Wohnort: ---
Version: 2011a, 2017a
     Beitrag Verfasst am: 27.01.2017, 10:16     Titel:
  Antworten mit Zitat      
Perfekt. Danke. Das mit den eckigen Klammern hat voll geklappt. Das Ergebniss sieht nur nicht so toll aus ^^

Kann man die Werte für die Frequenzen in schwarz auch an der Seite der Grafik anlegen? Wird wahrscheinlich etwas aufwendiger oder?

BM FFT Amplitude.pdf
 Beschreibung:

Download
 Dateiname:  BM FFT Amplitude.pdf
 Dateigröße:  9.25 KB
 Heruntergeladen:  319 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 27.01.2017, 10:24     Titel:
  Antworten mit Zitat      
Hallo,

du brauchst eigentlich nur den x-Wert im Text-Befehl anzupassen.
Vielleicht noch die Position des Koordinatensystems, damit rechts davon auch noch Platz ist, z.B. ganz am Anfang
Code:
axes('Units', 'normalized', 'position', [0.1 0.1 0.4 0.8])


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Henrik123
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 87
Anmeldedatum: 25.01.17
Wohnort: ---
Version: 2011a, 2017a
     Beitrag Verfasst am: 27.01.2017, 12:05     Titel:
  Antworten mit Zitat      
Hmm. Bis jetzt bin ich soweit gekommen. Wie kann ich die Grafik nach links schieben?

Code:
%---Create figure of data---%
OpenFig([10 6],'latex');                                                    
hold all
set(gcf,'DefaultLineLineWidth',0.7);
for i =1:length(freq)
    plot(Aton(:,1),Aton(:,i*2))
    list{i}=[int2str(freq{i}) ' Hz']
end

%---Define Housing---%
for iBlock = 1:nBlocks
    plot([pos{1} pos{end}],[Housing(:,iBlock*2-1),Housing(:,iBlock*2-1)],'--k','LineWidth',0.5)  
    x = pos{end}+1;
    y = Housing(:,iBlock*2-1);
    text(x,y,[list{iBlock}])
end

xlim([pos{1} pos{end}])
ylim([0 ceil(10*max(max(Amplitudes)))/10])
NumTicksX = 5;
LX = get(gca,'XLim');
set(gca,'XTick',linspace(LX(1),LX(2),NumTicksX));
legend(list,'Location','northwest')
grid on
box on
xlabel('position $[\mathrm{mm}]$')
ylabel('amplitude $[\mathrm{\mu m}]$')
FormatFig(0.7,0.2);

%PlotFig(['Shaker response (acceleration) (' inname{1}(1:5) ')']);
PlotFig(['BM FFT Amplitude']);


BM FFT Amplitude.pdf
 Beschreibung:

Download
 Dateiname:  BM FFT Amplitude.pdf
 Dateigröße:  9.28 KB
 Heruntergeladen:  327 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Henrik123
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 87
Anmeldedatum: 25.01.17
Wohnort: ---
Version: 2011a, 2017a
     Beitrag Verfasst am: 27.01.2017, 12:15     Titel:
  Antworten mit Zitat      
Es geht mir darum, dass sie außerhalb des Plotfensters stehe.
Private Nachricht senden Benutzer-Profile anzeigen
 
Henrik123
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 87
Anmeldedatum: 25.01.17
Wohnort: ---
Version: 2011a, 2017a
     Beitrag Verfasst am: 27.01.2017, 12:29     Titel:
  Antworten mit Zitat      
Vielleicht ist ja auch soetwas möglich, nur dass der Pfeil über den Rand läuft? Kann ich leider mit der Syntax nicht einstellen.

Plot.PNG
 Beschreibung:

Download
 Dateiname:  Plot.PNG
 Dateigröße:  12.55 KB
 Heruntergeladen:  419 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 27.01.2017, 12:37     Titel:
  Antworten mit Zitat      
Hallo,

tritt das Problem bereits in der Figure auf oder erst im PDF?
Woher sind die Funktionen OpenFig, FormatFig, PlotFig?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Henrik123
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 87
Anmeldedatum: 25.01.17
Wohnort: ---
Version: 2011a, 2017a
     Beitrag Verfasst am: 27.01.2017, 13:03     Titel:
  Antworten mit Zitat      
Ne schon in der Figure tritt der Fehler auf.

function plotFig(FileName,varargin) speichert die Datei in verschiedenen Formaten ab.
function formatFig(moveX,moveY,font) verschiebt die Achsen. Aber nicht wie ich will.
function openFig(siz,interpreter) stellt die Figurgröße in cm ein.

Hast du eine Idee?

PlotFig.m
 Beschreibung:

Download
 Dateiname:  PlotFig.m
 Dateigröße:  2.78 KB
 Heruntergeladen:  394 mal
OpenFig.m
 Beschreibung:

Download
 Dateiname:  OpenFig.m
 Dateigröße:  1010 Bytes
 Heruntergeladen:  360 mal
FormatFig.m
 Beschreibung:

Download
 Dateiname:  FormatFig.m
 Dateigröße:  1.47 KB
 Heruntergeladen:  428 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Henrik123
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 87
Anmeldedatum: 25.01.17
Wohnort: ---
Version: 2011a, 2017a
     Beitrag Verfasst am: 27.01.2017, 15:50     Titel:
  Antworten mit Zitat      
OMG. Sorry für die unglaublich bescheidenen Frage. Ich muss einfach das Figure-Feld auf die richtige Größe ziehen. Rolling Eyes

Naja. Damit hat sich alles geklärt außer die Frage ob ein Pfeil über den Rand des Plotfensters zeigen kann?
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.