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

polarpcolor Farbeinstellung für den Hintergrund

 

1Chris1
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 19.11.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2022, 09:31     Titel: polarpcolor Farbeinstellung für den Hintergrund
  Antworten mit Zitat      
Hallo,
ich benutze die Funktion polarpcolor

https://se.mathworks.com/matlabcent.....olor-in-polar-coordinates

Leider ist die Farbe des Wertes Null direkt auch die Hintergrundfarbe innerhalb des plots.
Das sieht besonders unschön aus, wenn man den polar Plot nicht über die komplette Reichweite R gefüllt hat.
Ich habe schon einiges probiert, z.B.
set(gca,'Color','w') innerhalb der Funktion eingefügt, aber es funktioiert nicht.

Weiß jemand Rat?
Private Nachricht senden Benutzer-Profile anzeigen


1Chris1
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 19.11.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2022, 13:38     Titel: Re: polarpcolor Farbeinstellung für den Hintergrund
  Antworten mit Zitat      
Vielleicht noch als Beispiel,:
Mrand = randi([-5, 11], [125,15])
Mrand(100:125,Smile=0;
Rrand=[1:1:125];
Wrand=[1:1:15];
figure(); [~,c]=polarPcolor(Rrand,Wrand,Mrand);
Die Funktion generiert mir einen blauen Hintergrund, da der Wert null in der colorbar blau zugewiesen wird.
Ich hätte gerne einen weißen, von der Farbscala unabhängigen Hintergrund.

BlauerHintergrund.jpg
 Beschreibung:

Download
 Dateiname:  BlauerHintergrund.jpg
 Dateigröße:  7.8 KB
 Heruntergeladen:  127 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: 19.08.2022, 16:35     Titel:
  Antworten mit Zitat      
Hallo,

der blaue "Hintergrund" ist doch kein Hintergrund in dem Sinn, sondern kommt durch geplottete Nullen zustande? Dann gibt es zwei Möglichkeiten:
a) die Colormap anpassen
b) die unerwünschten Nullen durch NaN ersetzen

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
 
1Chris1
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 19.11.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.08.2022, 09:08     Titel:
  Antworten mit Zitat      
Hallo Harald,
erstmal Danke für die Antwort.
Genau das ist ja das Problem, mit NAN kann die Funktion nicht arbeiten, d.h. die Matrix darf keine NAN Einträge enthalten, diese sind dann auf Null gesetzt. Wenn ich eine andere Colormap verwende, habe ich dann eben eine andere Farbe für die Nullwerte. Wie könnte ich es denn (noch) erreichen, dass die unerwünschten Null-Werte (also ab einer bestimmten Range) nicht von der Funktion geplottet werden?

Gruß
Chris
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: 22.08.2022, 09:25     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
mit NAN kann die Funktion nicht arbeiten, d.h. die Matrix darf keine NAN Einträge enthalten, diese sind dann auf Null gesetzt.

Das kann ich nicht nachvollziehen. Ich habe dein Beispiel so angepasst, und es funktionierte problemlos:
Code:
Mrand(100:125,:)=NaN;


Wenn du einen Fall hast, in dem das nicht funktioniert, dann poste bitte ein entsprechendes Beispiel.

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
 
1Chris1
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 19.11.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.08.2022, 14:53     Titel:
  Antworten mit Zitat      
Danke Harald,
das die Funktion nicht mit den NAN Einträgen bei mir funktioniert hat, hatte tatsächlich andere Gründe.
Jetzt ist zwar dieses Problem gelöst, aber wie kann ich den (echten) Hintergrund nur des Sektors ändern?
Mit
Code:
set(gcf,'color',[1 0 0])

ändert er mir die Farbe des kompletten Fensters.
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: 22.08.2022, 21:59     Titel:
  Antworten mit Zitat      
Hallo,

um welche Hintergrundfarbe geht es denn?
Ich habe verschiedene Anpassungen gemacht, und der Sektor wird stets vollständig mit Datenwerten gefüllt. Bitte poste ein Beispiel, in dem das Problem erkennbar ist.

Zitat:
Mit set(gcf,'color',[1 0 0]) ändert er mir die Farbe des kompletten Fensters.

Und genau das würde ich bei dem Befehl erwarten.

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
 
1Chris1
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 19.11.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.08.2022, 08:42     Titel:
  Antworten mit Zitat      
Es geht um die Änderung der Farbe nur des Kreisförmigen "plot Bereiches".
Im Folgenden Beispiel wird der polar plot nur bis zu einem radius von 94 gefüllt, das Diagramm geht aber (da ich verschiedene Graphiken miteinander vergleiche) bis 120.
diesen freien Bereich/ Hintergund geht es mir, kann man nur den ändern?
Bsp:

Code:
Rrand=[1:1:125];
Mrand = randi([-5, 5], [125,360])
Wrand=[1:1:360];
Mrand(100:125,:)=NaN;
Msort=sort(Mrand);

figure(); [~,c]=polarPcolor(Rrand,Wrand,Msort);


Hintergrund des Kreisförmigen plot Bereiches.jpg
 Beschreibung:

Download
 Dateiname:  Hintergrund des Kreisförmigen plot Bereiches.jpg
 Dateigröße:  34.89 KB
 Heruntergeladen:  115 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.08.2022, 09:26     Titel:
  Antworten mit Zitat      
Hallo,

jetzt weiß ich immerhin, um was es geht.
Wenn man sich ansieht, wie der Plot aufgebaut ist, ist das ja kein echtes polares Koordinatensystem, sondern "nur" polar in ein kartesisches Koordinatensystem geplottet. Ich könnte mir höchstens vorstellen, in der Funktion vor dem eigentlichen Plot mit fill diesen Hintergrund entsprechend anzupassen.

Wäre es eigentlich nicht geschickter, in File Exchange eine Diskussion zu dem Thema anzustoßen? Es wird kaum jemand den Code besser kennen als der Autor.

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
 
1Chris1
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 19.11.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.08.2022, 09:59     Titel:
  Antworten mit Zitat      
Hallo Harald,
o.k., ich gucke mir die Funktion nochmal an. Natürlich könnte ich sonst auch den Author anschreiben, Ich dachte nur, dass es hier schneller geht, wenn ein experte mal in die Funktion guckt...
Danke.
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 - 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.