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

9 visualizaciones (últimos 30 días)
ayumi obitsu
ayumi obitsu el 5 de Jul. de 2024
Comentada: Steven Lord el 9 de Jul. de 2024
Is there a way to change the thickness and color of the red + marks that appear when drawing a Nyquist diagram?
  1 comentario
Aquatris
Aquatris el 5 de Jul. de 2024
are you talking about the red + sign on the -1 point?

Iniciar sesión para comentar.

Respuesta aceptada

Voss
Voss el 5 de Jul. de 2024
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 comentarios
Voss
Voss el 9 de Jul. de 2024
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 el 9 de Jul. de 2024
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.

Iniciar sesión para comentar.

Más respuestas (1)

Umar
Umar el 5 de Jul. de 2024

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 comentario
ayumi obitsu
ayumi obitsu el 9 de Jul. de 2024
Mr.Umar
Thank you for your reply.
I was able to successfully change the color and thickness of the + mark.

Iniciar sesión para comentar.

Categorías

Más información sobre Graphics Object Properties en Help Center y File Exchange.

Productos


Versión

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by