|
|
Plot in zwei verschiedene axes, problem mit handles |
|
Andii |
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 16.05.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.08.2017, 11:43
Titel: Plot in zwei verschiedene axes, problem mit handles
|
|
Ich versuche mit einem Pushbutton die selbe Funktion in zwei unterschiedliche axes zu plotten, einmal als normalen plot und einmal als polarplot. Das funktioniert beim ersten Klick auf den Button auch wunderbar.
Sobald ich ein zweites Mal auf den Button klicke, kommt aber folgende Fehlermeldung:
Ich verstehe nicht was falsch ist, bzw. warum es nur beim ersten Mal funktioniert...
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 04.08.2017, 12:17
Titel:
|
|
Hallo,
vermutlich hast du dir irgendwo (und das nicht in diesem Codeausschnitt) die Handles-Struktur zerschossen.
Suche in deinem (gesamten) Code mal nach Zeilen
Damit würde das Handle auf das Koordinatensystem überschrieben --> schlechte Idee.
Generell natürlich auch eine gute Idee: Debugger verwenden und schauen, was in handles so drin steht.
Grüße,
Harald
|
|
|
Andii |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 16.05.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.08.2017, 07:07
Titel:
|
|
habe das überprüft aber nichts gefunden. Der gesendete Code stammt aus einem kleinen Testprogramm um dieses Problem zu lösen. Es ist ein GUI das nur aus einem pushbutton und 2 axes besteht. Alles was über den oben gesendeten Code hinausgeht sind automatisch von Matlab generierte Zeilen.
Ich bin noch blutiger Anfänger was GUIs angeht und habe die handles Struktur noch nicht verstanden.
Ist das handles?
figure1: [1x1 Figure]
pushbutton1: [1x1 UIControl]
axes2: [1x1 Axes]
axes1: [1x1 Axes]
output: [1x1 Figure]
Grüße und schonmal vielen Dank,
Andii
|
|
|
Andii |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 16.05.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.08.2017, 07:33
Titel:
|
|
ich habe noch etwas rumprobiert und dabei ist mir folgendes aufgefallen:
der folgende Code spuckt beim zweimaligen Klicken des Buttons die darauf folgende Meldung aus:
Meldung im Command window nach erstem Klick
nach zweitem Klick
löscht/überschreibt der Befehl axes(handles.axes123) irgendetwas?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 07.08.2017, 07:44
Titel:
|
|
Hallo,
Zitat: |
löscht/überschreibt der Befehl axes(handles.axes123) irgendetwas? |
Falls ja, müsste das Problem ja schon bei axes1 auftreten. Mein Verdacht ist da eher die von dir verwendete Syntax von polarplot. Versuch mal
Generell ist es hilfreich, wenn du ein reproduzierbares Beispiel zur Verfügung stellst. Dann kann man solche Vorschläge auch selbst ausprobieren und sehen, ob sie das Problem lösen.
Grüße,
Harald
|
|
|
Chokri |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.08.2017, 19:01
Titel:
|
|
Hallo
versuchen den axes zu erst den alt zu löchen vor den neue plot durch 'cla'
axes(handles.axes1)
cla
plot(x,y)
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.11.2017, 13:09
Titel:
|
|
|
|
|
Gibt es eine Lösung für das Problem?
Mein Problem ist zwar etwas anders, aber das Prinzip bleibt gleich.
Ich habe eine GUI mit einem Polar Plot und möchte, dass der User den rlim einstellen kann. In meine GUI habe ich 3 weitere axes.
Dabei habe ich bis jetzt folgendes ausprobiert:
mit polarplot:
bekomme ich dieselbe Meldung wie beim Andii und habe bis jetzt mit keiner Syntax das Problem gelöst.
Nachdem das Programm einmal gelaufen ist, wird der axes gelöscht. (in mein Fall handles.axes2)
mit polarplot und polaraxes:
Klappt wie man sich das vorstellt, außer, dass die Größe meiner axes nicht mehr stimmt. Egal was ich dabei mache, hat das Polar Plot eine feste Größe, die auch nicht veränderbar ist (oder habe dazu bis jetzt nichts gefunden). z.B. ursprungsgröße: 5x5. Nach polaraxes: 15x15
mit polar (veraltet):
Da gibt es kein Befehl rlim, sodass man das Polar Plot nicht mehr benutzerdefiniert machen kann. Diese "Lösung" fällt also meiner Meinung nach raus.
Wenn also jemand eine Lösung hat, würde ich mich sehr freuen!
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.11.2017, 17:53
Titel:
|
|
ich habe eine Lösung gefunden und zwar man muss folgendes Befehl aufrufen, nachdem man ein Polarplot gemacht hat:
Also das ganze sieht dann so aus:
%% Anzeige Polar Plot
axes(handles.axes2)
scan = cellfun(@str2double,handles.scans(nummer,);
rad = 3.9706:-0.00672:-0.8290; % es gibt 715 Werte für 275 Grad
polarplot(rad, scan)
handles.axes2=gca;
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|