Nyquist plots are a cornerstone of control system analysis, providing a powerful visual representation of a system's frequency response and its implications for closed-loop stability. For engineers presenting these plots in technical reports, clarity and precision are paramount. A poorly constructed Nyquist plot can obscure critical insights, while a well-presented one immediately communicates stability margins, robustness, and dynamic behavior. This article expands on best practices for generating and integrating Nyquist plots into professional documents, ensuring your technical communication is both authoritative and accessible.

Fundamentals of Nyquist Plots

A Nyquist plot maps the complex-valued frequency response function G(jω) onto the complex plane for frequencies ω from 0 to ∞ (and often from -∞ to 0 for symmetric plots). The real axis represents the real part of the transfer function, and the imaginary axis represents the imaginary part. Each point on the plot corresponds to a specific frequency, with the arrow direction typically indicating increasing frequency.

The Nyquist stability criterion uses these plots to determine closed-loop stability by counting encirclements of the critical point (-1, 0). This makes the plot indispensable for assessing gain and phase margins, which are measured directly from the distance to the critical point along the real axis and the phase angle, respectively. Understanding the geometry of the Nyquist plot—its asymptotes, polar intercepts, and high-frequency behavior—is essential before tackling presentation guidelines.

For a deeper review of the theory, refer to standard control textbooks or the Nyquist stability criterion article.

Best Practices for Presenting Nyquist Plots

1. Axis Labeling and Scaling

Every Nyquist plot must have clearly labeled axes. The horizontal axis should be labeled "Real Axis" (or "Re(G(jω))") and the vertical axis "Imaginary Axis" (or "Im(G(jω))"). Include the critical point (-1, 0) with a visible marker (e.g., a cross or circle) and a label "Critical Point" or "(-1, 0)". Use consistent scaling—ideally square axes—so that circles remain circular and distances are not distorted. If the plot extends far into the negative real plane, consider using a broken axis or a zoomed inset to show detail near the critical region.

Always include a unit box or scale bar when the axes are not labeled with numerical ticks. For technical reports, include integer or decimal tick marks at intervals that make sense for the system—for example, every 0.5 or 1 unit on both axes. Avoid excessive clutter by limiting the number of tick labels.

2. Highlighting Stability Margins

The gain margin (GM) and phase margin (PM) are the most critical quantitative metrics extracted from a Nyquist plot. Present them directly on the plot using dashed lines or annotations. For gain margin, draw a horizontal line from the point where the Nyquist plot crosses the negative real axis to the (-1, 0) point, and note the distance. For phase margin, draw a circle of radius 1 (unit circle) centered at the origin; the angle between the negative real axis and the intersection of the Nyquist plot with this circle is the phase margin. Include numerical values in a text box or in the caption.

If your plot contains multiple systems (e.g., nominal, perturbed, with and without controller), use different line styles or colors and a legend. Ensure that margins are identified for each trace, or at least for the nominal case. This practice aligns with guidelines from the MATLAB Nyquist documentation.

3. Plot Resolution and Aspect Ratio

Low-resolution raster images (e.g., low-DPI JPEG) can make Nyquist plots appear jagged and obscure fine details near the critical point. Always export plots as vector graphics (SVG, PDF, EPS) or at least 600 DPI PNG. This ensures that when zoomed in a report viewer, the curves remain smooth. Maintain a square aspect ratio (1:1) unless the system's Nyquist plot is extremely elongated; in that case, use an aspect ratio that preserves geometric similarity but include a note about the scaling.

Avoid using too few frequency points in calculation. The Nyquist curve should appear continuous, not as a series of discrete dots. Use automatic frequency vector generation (e.g., MATLAB's nyquist command with logspace) or manually refine the point density around critical regions such as the phase crossover and gain crossover frequencies.

4. Multiple Traces and Legends

When comparing several systems—such as before and after compensation, or for different controller gains—use distinct, colorblind-friendly line styles (solid, dashed, dotted) and colors. Include a legend placed inside the axes area, but ensure it does not obscure the critical point or major features. If legends block important data, consider placing them outside the plot or using interactive versions in digital reports. Label each trace with a descriptive name (e.g., "Plant alone", "Plant with lead compensator").

For very similar traces, consider overlaying them with a slight transparency (alpha) to show density of overlapping curves. However, for print reports, solid lines are preferred.

5. Annotations and Critical Points

Beyond the (-1, 0) point, annotate other key intersections: the point where the plot crosses the real axis (phase crossover), the point where it crosses the unit circle (gain crossover), the starting point at ω=0 (often on the real axis for type 0 systems), and the high-frequency end (approaching the origin). Use arrows to indicate the direction of increasing frequency—this is essential for interpreting encirclements. The arrow tip should be placed near the end of the trajectory (high-frequency end) and optionally along the path if the curve loops.

If the Nyquist plot has multiple branches (e.g., for systems with dead time or non-minimum phase), label each branch with its frequency range. In addition, include a text box summarizing the stability status: "Stable (0 encirclements)" or "Unstable (2 clockwise encirclements)".

Integrating Nyquist Plots into Technical Reports

Descriptive Captions and Cross-References

Every figure must have a caption that describes the plotted systems, the conditions (e.g., "Nominal plant, no controller"), the stability margins, and any noteworthy observations. Use a consistent numbering scheme (Figure 1, Figure 2) and reference each figure in the main text (e.g., "As shown in Figure 3, the Nyquist plot indicates a gain margin of 6 dB"). This helps readers connect the visual analysis to your argument.

Avoid placing a figure without explanation. The surrounding text should prepare the reader for what they will see and then interpret the result.

Consistency with Other Frequency-Domain Plots

Nyquist plots are often used alongside Bode plots and Nichols charts. If you include multiple types, ensure that the color and line styles correspond across figures. For example, the same feedback system trace should use the same color in the Nyquist, Bode magnitude, and Bode phase plots. This consistency reduces cognitive load and reinforces the relationships between the representations.

In reports where both Nyquist and Bode plots are used, consider placing them adjacent or in a multi-panel figure. Many readers appreciate being able to compare the phase crossover from the Bode phase plot directly to the Nyquist real-axis crossing.

Use of Vector Graphics and Embedding

For printed reports or PDFs, embed vector graphics (SVG or EPS) rather than raster images. These preserve clarity at any zoom level and are easier to annotate programmatically. If using LaTeX, compile with the pdf driver and include the plots as PDF images. For word processors, use PNG at 600 DPI minimum. Avoid copying and pasting plots from screen captures; always export from the plotting application using its "save as" function with appropriate resolution settings.

Some modern report generators (e.g., Jupyter notebooks with MATLAB or Python plots) can embed interactive Nyquist plots. While not suitable for print, interactive versions (with hover tooltips showing frequency and gain values) can be very helpful in digital reports. Mention that the interactive version is available in supplement.

Common Pitfalls to Avoid

Misleading Axes Ranges

Scaling axes to show only a small region can exaggerate stability margins. Conversely, scaling too large can make the critical region tiny and hard to read. Always show the critical point (-1, 0) clearly with some margin around it. If the Nyquist plot extends far into the left half-plane, use a break in the axis (// symbol) or provide an inset zoom. Many plotting tools allow you to set axes limits manually; use them wisely.

Incomplete Frequency Sweep

Omitting the negative frequency branch (symmetric half) can be acceptable if the report states that only positive frequencies are shown, but the standard Nyquist plot for the criterion often requires both halves to assess encirclements. If you only show ω from 0 to ∞, add a note that the plot is the "positive frequency portion only" and that the symmetric half is omitted for clarity. For rigorous stability analysis, present the full plot from -∞ to +∞.

Missing Arrow Direction

Without an arrow indicating the direction of increasing frequency, the plot is ambiguous. Even if the arrow seems obvious to the author, a reader unfamiliar with the system may misinterpret the encirclement direction. Always place an arrow near the end of the trace (high-frequency end) and optionally at major turning points.

Overcomplicating Annotations

Too many annotations can clutter the plot. Focus on the critical point, gain/phase margin markers, and the starting point. Additional details (like specific frequency numbers on every point) are better suited to tables or interactive plots. Use annotations sparingly and ensure they do not overlap the plotted curve.

For more detailed guidance on avoiding common mistakes in control system graphics, see the resources provided by University of Michigan's Control Tutorials for MATLAB.

Tools and Software for Generating Publication-Quality Nyquist Plots

MATLAB's nyquist function is the most widely used tool in industry and academia. It automatically computes the frequency response and handles MIMO systems. For publication, use the nyquistplot function (Control System Toolbox) which returns a plot handle allowing customization of colors, line widths, fonts, and axes limits. Export using print(gcf,'-dsvg','filename.svg') for vector output. Simulink can also generate Nyquist plots from the Linear Analysis Tool.

Python Control Systems Library

For open-source workflows, the Python control library (by Richard Murray et al.) provides nyquist_plot and nyquist_response. You can use Matplotlib for fine-grained control. Example code is widely available; see the Python Control Systems Library documentation for details. Export as SVG via plt.savefig('nyquist.svg', format='svg').

Other Tools

LabVIEW's Control Design Toolkit, Octave (with control package), and even spreadsheet tools like Excel (with careful data preparation) can produce Nyquist plots, though customization is more limited. For large reports, consider using R with the control package. Regardless of tool, always verify the plot against a known reference system (e.g., a first-order or second-order system) to ensure correct sign conventions and scaling.

Conclusion

Presenting Nyquist plots effectively is a skill that combines technical understanding with design sensibility. By adhering to best practices—clear labeling, consistent scaling, highlighted stability margins, vector graphics, and thoughtful integration into the report—you ensure that your analysis communicates its insights without ambiguity. Avoid common pitfalls such as missing arrows, misleading axes, or incomplete sweeps. Use modern plotting tools to generate crisp, customizable figures. Ultimately, a well-crafted Nyquist plot not only supports your stability arguments but also reflects the professionalism of your technical report. Whether you are documenting a control design, evaluating system robustness, or teaching students, these guidelines will help you produce clear and impactful frequency-domain graphics.