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

Tick´s in deutsch

 

Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.11.2020, 13:41     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
das hilft mir nicht so richtig weiter. Hier wird das 4. axes bearbeitet,

Ich rede ja auch vom vorherigen Beitrag.

Nochmal detaillierter:
Zitat:
Entweder indem du die Handles in der handles-Struktur abspeicherst

Also beim Erstellen der Figures:
Code:
handles.figure1 = figure;


oder
Zitat:
beim Erstellen einen Namen oder ein Tag oder sonstwas vergibst

Also beim Erstellen der Figures:
Code:
figure('Tag', 'Plot1')

und um später wieder Zugriff darauf zu bekommen:
Code:
f = findobj(groot, 'Type', 'figure', 'Tag', 'Plot1')


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen


creme
Themenstarter

Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 10.07.17
Wohnort: ---
Version: 2019b
     Beitrag Verfasst am: 18.11.2020, 14:12     Titel:
  Antworten mit Zitat      
Code:
switch h
case 'Achsen germanifizieren'
   if isfield(handles,sprintf('axes%d',indx))%Prüfen ob figure existiert
       fig_new=handles.sprintf('axes%d',indx)
        new_xl = strrep(fig_new(:),'.',',');
            set(gca,'XTickLabel',new_xl)
            set(gca,'YTickLabel',new_xl)
   end


ich habe es jetzt so probiert und wollte es automatisiert machen sodass ich nicht 8 figures einer variable zuordnen muss.

Bei fig_new zeigt mir matlab eine Fehlermeldung an

fehler.JPG
 Beschreibung:

Download
 Dateiname:  fehler.JPG
 Dateigröße:  58.62 KB
 Heruntergeladen:  148 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.11.2020, 14:43     Titel:
  Antworten mit Zitat      
Hallo,

bei dynamischer Indizierung benötigst du Klammern.
Code:
fig_new=handles.(sprintf('axes%d',indx));


Wenn du meinen Vorschlag verwendest, könntest du dir sogar das unschöne sprintf schenken.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
creme
Themenstarter

Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 10.07.17
Wohnort: ---
Version: 2019b
     Beitrag Verfasst am: 18.11.2020, 14:47     Titel:
  Antworten mit Zitat      
Hallo Harald,

Code:
if isfield(handles,sprintf('axes%d',indx))
       fig_new=handles.(sprintf('axes%d',indx))
        new_xl = str2double(strrep(fig_new(:),'.',','));
            set(gca,'XTickLabel',new_xl)
   end


so sieht es jetzt aus. Der ausgewählte Plot wird auch abgespeichert aber immer noch mit Punkten statt mit komma Mad

ich weiß, in diesem Bsp hab ich erstmal nur die x-achse ausgewählt...
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.11.2020, 16:47     Titel:
  Antworten mit Zitat      
Hallo,

du musst dir
1. erst mal mit get die Labels holen (fehlt Stand jetzt)
2. dann ersetzen, ohne str2double - es sollen ja Beschriftungen sein.
3. dann Labels setzen

Dabei nie gca verwenden, sondern immer fig_new.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
creme
Themenstarter

Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 10.07.17
Wohnort: ---
Version: 2019b
     Beitrag Verfasst am: 18.11.2020, 17:00     Titel:
  Antworten mit Zitat      
Hallo Harald,

meinst du das so:

Code:
if isfield(handles,sprintf('axes%d',indx))
       fig_new=handles.(sprintf('axes%d',indx))
       
       x1=get(fig_new,'XTickLabel');
  new_xl =(strrep(x1(:),'.',','));
  set(fig_new,'Xtick',new_x1)


lediglich in der letzten Zeile erhalte ich noch eine Fehlermeldung

fehler.JPG
 Beschreibung:

Download
 Dateiname:  fehler.JPG
 Dateigröße:  60.02 KB
 Heruntergeladen:  142 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.11.2020, 17:08     Titel:
  Antworten mit Zitat      
Hallo,

weil in der letzten Zeile XTick statt XTickLabel steht. ;)

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
creme
Themenstarter

Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 10.07.17
Wohnort: ---
Version: 2019b
     Beitrag Verfasst am: 23.11.2020, 16:27     Titel:
  Antworten mit Zitat      
Hallo Harald,

das klappt super. Ich kann mir nur noch nicht ganz erklären warum die Beschriftung zwei Mal angezeigt wird (siehe Anhang)? Was kann man hier machen?

Grüße

test.png
 Beschreibung:

Download
 Dateiname:  test.png
 Dateigröße:  32.88 KB
 Heruntergeladen:  131 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 23.11.2020, 17:55     Titel:
  Antworten mit Zitat      
Hallo,

das sollte an sich nur passieren, wenn die Größe anschließend verändert wird. Man sollte die Ticks anpassen, wenn die Größe festgelegt wurde. Um sicher zu gehen, dass zumindest kein Murks passiert:

Code:
x1=get(fig_new,'XTickLabel');
x1_t = get(fig_new,'XTick');
new_x1 =(strrep(x1(:),'.',','));
set(fig_new,'XTick',x1_t,'XtickLabel',new_x1)


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
creme
Themenstarter

Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 10.07.17
Wohnort: ---
Version: 2019b
     Beitrag Verfasst am: 23.11.2020, 18:17     Titel:
  Antworten mit Zitat      
Danke Harald,

funktioniert einwandfrei
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2

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 - 2024 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.