cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • Register to attend Discovery Summit 2025 Online: Early Users Edition, Sept. 24-25.
  • New JMP features coming to desktops everywhere this September. Sign up to learn more at jmp.com/launch.
Choose Language Hide Translation Bar
Visualizing co-occurrence using the JMP Network Plot add-in

Introduction

In today’s data-driven world, relationships matter just as much as the data points themselves. Whether you're mapping social connections or exploring drug-event interactions, visualizing these relationships can reveal insights that are otherwise hidden in tables or aggregate statistics. A network plot provides an intuitive way to explore such interconnected data by representing entities as nodes and their relationships as edges. It can be used to find central actors in social media, detect financial fraud, optimize logistics routes, and even explore protein interactions and disease pathways. What unites these applications is the need to simplify a complex relational structure into useful and clear visual narratives.

We can weight the edges by frequency and statistical relationships, such as correlation and partial correlation. Also, different choices of layout enable us to explore different relationships, identify clusters, and bridge elements that may signal influential actors or bottleneck relationships that can be hidden in traditional charts or spreadsheets.

After introducing the general principles and techniques of network plot, I’ll examine a pharmacovigilance case study on adverse events (AEs) co-occurrence, which demonstrates how the network plot illuminates drug safety signals. Finally, I’ll explore how the JMP Network Plot add-in supports interactive exploration, data filtering, and group-level insight.

Network Plot add-in

Network plots model data as relationships. Each node represents an entity – such as a person, product, gene, or drug – while an edge indicates a defined interaction, co-occurrence, or relationship between two nodes. Edges can carry weights to reflect a number of shared attributes, such as pairwise frequency, duration of overlap, correlation, or conditional dependency. Node size or color can encode such attributes as marginal frequency or group characteristics.

An interactive network plot enhances pattern detection and hypothesis generation. Common layouts include eigenvector or circular arrangements that highlight structural patterns or comparative overview. Filters, edge bundling, and threshold settings reduce clutter and focus attention on meaningful connections.

We developed the Network Plot add-in, which is accessible for JMP 17 and later versions. As shown in Figure 1, the workflow begins by selecting columns from user selected data set: the subject identifier, terms of interest (such as event or medication terms), and optionally, a grouping variable that organizes terms of interests into mutually exclusive categories.

Within the dialog interface, users can customize the appearance of the plot. Edges are drawn between pairs of nodes if they co-occur within the same subject, with the node and edge size (by default) reflecting the frequency of the event and the co-occurrence of events. For color options, edges can be colored by frequency and statistical association, such as the correlation or partial correlation coefficient, which highlights the strength of connection between any two events.

Figure 1. Dialog window displayed upon launching the add-inFigure 1. Dialog window displayed upon launching the add-in

The add-in constructs the network with two main layout options, where each unique term of interest is represented as a node:

  • The default circle layout, as shown in Figure 2, places all nodes around a circle, making every connection more easily visible and providing a high-level overview of network connectivity. One important note: this is a dynamic layout. It automatically recalculates and rearranges node positions during filtering to ensure maximum visibility.
  • Alternatively, an eigenvector-based layout arranges nodes according to the first two eigenvectors of the co-occurrence partial correlation or correlation (when the partial correlation is not full rank) matrix, as shown in Figure 3. This approach clusters nodes with similar overlapping patterns together, making it easier to spot natural groupings or modules within the data.

The plot is fully interactive; users can dynamically filter the underlying data using options in the left-side panel’s Data Filter, instantly updating the network to focus on specific subgroups, frequency, or correlation ranges. Selecting a node or edge in the plot highlights the corresponding records in the JMP data table, facilitating rapid drill-down for detailed review.

Figure 2. Interactive Data Filter of Network Plot add-inFigure 2. Interactive Data Filter of Network Plot add-in

Figure 3. Layout options of Network Plot add-inFigure 3. Layout options of Network Plot add-in

Case study: Overlapping medication and adverse events

To demonstrate the practical impact of network plots, we applied it to a data set of musculoskeletal adverse events (AEs) using the interactive Network Plot add-in. Each node in the network represents a distinct AE – such as arthralgia, joint swelling, or musculoskeletal pain. The edges indicate instances where these events co-occurred in patient records at least once, which happens to be all the events in this data. Node size reflects how frequently each event appears, while edge thickness and color encode the frequency or statistical strength of co-occurrence between pairs of events. Analysts can filter edges below a threshold, apply grouping filters, and instantly explore a specific subpopulation. Network plots can also complement other approaches, such as upset plots (as discussed in the post), which enumerate discrete set intersections.

Findings

With both network layouts (eigenvector-based and circle), a few patterns emerge. Arthralgia stands out as a central hub node, marked by both a large node size and thick edges connecting it to several other AEs – most notably joint swelling and pain in extremity. The prominence of these connections suggests that patients experiencing arthralgia often report joint swelling and extremity pain as well, forming a tightly knit cluster of related symptoms. This visual triad not only reflects clinically plausible associations but also highlights potential syndromic groupings that might benefit from joint monitoring or further study.

The right-side color legend and varying edge thickness communicate which AE pairs are most observed together. For example, the thick, dark blue line between arthralgia and joint swelling indicates a high co-occurrence frequency, while lighter, thinner lines such as those linking psoriatic arthropathy to other nodes indicate weaker or less common overlaps.

Nodes colored by group further divide the events, allowing for rapid visual subgrouping. For instance, Category 1 (blue) and Category 3 (green) nodes tend to cluster together, which could correspond to clinical subtypes. The interactive filters on the left panel make it possible to instantly focus on specific event categories, frequencies, or correlation levels. For example, by filtering out low-frequency edges, core patterns were clarified without sacrificing interpretability. This feature supports targeted analyses, such as isolating rare but severe event combinations or focusing on patient subpopulations most at risk.

Switching between the circle and eigenvector layouts repositions the nodes, making structural relationships more or less apparent depending on the analytic question. The eigenvector layout brings tightly associated symptoms into close proximity, emphasizing their statistical “closeness” and helping reveal groupings that might be missed in static tabular summaries. The interactive data filter allows the analyst to restrict the plot to AEs above a certain frequency or only include edges with high correlation, removing noise and enabling a clear focus on clinically meaningful patterns.

Such a network plot supports several real-world pharmacovigilance and research objectives:

  • Detection of clusters: By revealing groups of symptoms that frequently appear together, the plot aids in identifying syndromes or drug-specific side effect profiles.
  • Resource allocation: By highlighting high-frequency or central events, the plot can inform decisions about which symptoms to monitor proactively in clinical practice.
  • Improved communication: By adding visualizations, a communication bridge is created between data analysts, clinicians, and decision makers, enabling a shared understanding of complex co-occurrence data at a glance.

Comparison with UpSet plots

While upset plots are valuable for quantifying the number of patients exposed to specific combinations of drugs and AEs, they lack the ability to convey the strength and structure of connections between many events at once. Network plots, in contrast, provide a holistic and flexible view of the data. They show which events are closely related, which are isolated, and how clusters are connected – all with visual cues that can be tailored to the needs of the investigation. Used together, upset and network plots offer a comprehensive toolkit for both enumeration and exploration of drug-event relationships.

Conclusion and next steps

The Network Plot add-in provides a dynamic and interpretable platform for visualizing the co-occurrence of medications and adverse events, illuminating complex patterns that are otherwise difficult to discern. As the complexity of data continues to grow, such visual tools become ever more important for timely and accurate safety assessments. This JMP add-in achieves these results with an interactive  workflow. Future directions include integration with subject-level covariates (such as age or dose), support for temporal aspects of co-occurrence, more layout options, and more analytical modules for automatic cluster detection or risk quantification. Ultimately, embedding network visualization into standard safety-signal detection workflows will empower both analysts and clinicians to move from raw data to insight with greater speed and clarity.

Last Modified: Aug 27, 2025 12:00 AM
Comments