Filter löschen
Filter löschen

How to edit the red "+" marks on the Nyquist plot

55 Ansichten (letzte 30 Tage)
ayumi obitsu
ayumi obitsu am 5 Jul. 2024 um 9:16
Kommentiert: Steven Lord am 9 Jul. 2024 um 14:04
Is there a way to change the thickness and color of the red + marks that appear when drawing a Nyquist diagram?
  1 Kommentar
Aquatris
Aquatris am 5 Jul. 2024 um 11:56
are you talking about the red + sign on the -1 point?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Voss
Voss am 5 Jul. 2024 um 12:22
H = tf([2 5 1],[1 2 3]);
nyquist(H)
h = findall(gcf(),'Type','line')
h =
5x1 Line array: Line Line Line Line Line
mkr = get(h,'Marker')
mkr = 5x1 cell array
{'+' } {'none'} {'none'} {'none'} {'none'}
h = h(strcmp(mkr,'+'));
h.LineWidth = 5;
h.Color = [0 1 0];
h.MarkerSize = 20;
  3 Kommentare
Voss
Voss am 9 Jul. 2024 um 13:40
You're welcome!
Regarding the line of code you asked about, before that line is executed, h contains all the line objects in the figure. That line of code compares the marker of each line object to '+' and keeps only the line objects whose marker is '+', so that afterwards h contains only those line objects whose marker is '+'.
Steven Lord
Steven Lord am 9 Jul. 2024 um 14:04
A slightly simpler approach would be to directly findobj all objects whose Marker property is '+'.
H = tf([2 5 1],[1 2 3]);
nyquist(H)
h = findall(gcf(),'Marker', '+')
h =
Line with properties: Color: [1 0 0] LineStyle: '-' LineWidth: 0.5000 Marker: '+' MarkerSize: 6 MarkerFaceColor: 'none' XData: -1 YData: 0 ZData: -10 Use GET to show all properties
The properties (specifically Color, Marker, XData, and YData) indicate that this is the "line" that is the red + symbol. This avoids the strcmp call.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Umar
Umar am 5 Jul. 2024 um 12:01

Hi Ayumi,

To change the thickness and color of the red + marks in a Nyquist diagram, you can modify the properties of the plot after generating it. Below is an example illustrating how to achieve this customization. So, first, I will create a transfer function G as an example.Next, generate the Nyquist plot using the nyquist function. Afterwards, access the current figure handle and find all lines with a red color (indicating the + marks). Finally, we set the line width to 2 and change the color to blue for better visibility.

>> % Create a transfer function G = tf([1], [1, 2, 1]);

% Generate the Nyquist plot figure; nyquist(G);

% Access the current figure and set properties of the red + marks h = gcf; % Get current figure handle redPlusMarks = findall(h, 'Type', 'line', 'Color', [1 0 0]); % Find red lines set(redPlusMarks, 'LineWidth', 2); % Set line width to 2 set(redPlusMarks, 'Color', [0 0 1]); % Set color to blue

Please see attached plot as reference.

By following this approach, you can easily customize the appearance of the red + marks in Nyquist diagrams according to your preferences.

  1 Kommentar
ayumi obitsu
ayumi obitsu am 9 Jul. 2024 um 7:06
Mr.Umar
Thank you for your reply.
I was able to successfully change the color and thickness of the + mark.

Melden Sie sich an, um zu kommentieren.

Produkte


Version

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by