Beyond bars and lines: 7 cool ways to visualize data in your dev tool
Ever felt like your developer tools could display data in a more intelligent manner for your users? Fear not! In this post, we are exploring seven underrated data visualizations that fit right into the goldilocks zone: not too basic, not too complex. So, want to upgrade from the traditional bar and line charts? Then, read on!
This article is intended to inspire new ways of thinking about the data your developer-facing tool works with, and new methods of visualizing that data.
For each example, we’ll also share use cases that we hope might encourage you to consider these options. Even if you recognize some of these visualizations, perhaps looking at them alongside real life dev tools use cases (or our proposals for implementing these graphs) will lead to an “eureka” moment for you.
The options we’ll look at in this article are feasible to implement thanks to free and open source visualization libraries such as d3js or Rawgraphs. Hopefully you’ll find something here, because these simple, elegant solutions can really make your data pop!
1: Highlight tables
Let’s kick things off with highlight tables, which make use of colors to give data an extra visual punch, turning standard tables into easy-to-read visuals.
More specifically, colors can be strategically used to highlight tables and vividly differentiate data, making trends and outliers instantly recognizable. For instance, we can display ranges from cool to warm or leverage bold tints for key values. Whether tracking the highs and lows of performance metrics or comparing various data sets, highlight tables offer a simple yet effective tool for quick data checks.
As an example, DVC is a version control system specifically designed for ML projects, and DVC Studio provides a user-friendly interface for gleaning insights and managing ML experiments using highlight tables, as seen here:
👍 Benefits:
- The use of colors mean patterns and trends are easily recognizable and outliers also stand out instantly; no need to sift through numbers.
- Highlight tables allow users to quickly compare data across multiple categories or time periods thanks to the use of color gradients.
- These visualizations have widespread application and work well for a variety of data types, from financial metrics to user activity.
👎 Struggles:
- These tables heavily rely on color perception, which may not be accessible for all users.
- They are best suited for gleaning surface-level insights; deeper analysis requires additional context or data.
- Using too many colors or similar hues can make these tables confusing and hard to decode.
Highlight tables offer a lot of flexibility in terms of visualization, but there are also other versions of them that inherit the highlight table appearance, but work differently. So, on that note, I’d like to dive a little deeper here and shine a light on a variant in common use: heat maps.
Heat maps
As seen with GitHub’s classic commit history diagram below, the purpose of heat maps is to visualize high-density data without the need for numbers in each cell. When implementing these, it’s important that columns and rows are easily recognizable and with common values (such as dates of the year or hours of the day) to prevent users from having to constantly scan them.
Beyond the GitHub example, ChatBot offers various solutions centered around AI-driven communication, including analytics, and on the right side of the above image, we can also see an example of a ChatBot heatmap in action, showing the busiest times of bot interaction in terms of hours of the day, with increasingly intense blue shades indicating times of heavier interaction.
With heat maps, the gradation of color intensity is the most important factor for conveying the magnitude of data points. (In areas where pattern recognition and relative differences are more significant than exact values, this gradiation is particularly effective.)
Possible uses for highlight tables
Here are some appropriate cases where you might consider using a highlight table, and how to set them up:
- ML model performance metrics: list different experiments on separate rows, and performance metrics (like accuracy) on columns, then apply colors from green (optimal) to red (critical) based on thresholds.
- Resource utilization: place resources (CPU, memory) on columns, and servers/containers on rows. Then, color code from blue (low usage) to red (high usage) to highlight utilization levels.
- User feature utilization: arrange software features on columns, user segments on rows, and use shades from light (low engagement) to dark (high engagement).
- Security incident reports: list incidents by type on columns, and place sources (like external IPs, applications) on rows; a color gradient from yellow (low severity) to red (high severity) can highlight quick focus areas.
- Daily user activity levels: use a heatmap with the hours of the day on columns, days on the rows, and colors to indicate activity intensity, thus revealing peak usage times without the need for individual data points.
While highlight tables are valuable for specific use cases such as comparing, matching, and highlighting trends in data, they may not be suitable for all types of data and audiences. With this in mind, let’s move on to the next case.
2: Force directed graphs
A force directed graph visually maps out how different items are connected. It shows relationships by using lines and nodes (usually dots or pictograms) to represent items.
Obsidian, as seen on the left below, is a note taking app that allows users to visualize the relationships between their notes, and thus, identify patterns about their own thinking in a visually engaging way. Meanwhile, Neo4j allows users to create different types of graphs, and the right side of the image shows a cool view of the relationships between actors, movies and directors:
As seen in the examples above, this type of visualization is great when you want users to be able to see how things in a network interact and depend on each other, making it easier for users to understand complex relationships at a glance.
👍 Benefits:
- Connected nodes present a familiar pattern that simplifies complexity and allows for immediate understanding.
- Visual cues in the diagram can reveal relationships and highlight otherwise hidden interactions and dependencies.
- These graphs work well with a variety of data types, from illustrating IT networks to graphing out social data.
👎 Struggles:
- Growing networks can make these diagrams unwieldy, presenting scalability issues and necessitating more sophisticated visualization techniques.
- Data complexity may be oversimplified and obscured with this type of high-level overview.
- Force directed graphs are data dependent; accurate and complete data is crucial for ensuring a clear, useful diagram.
Possible uses for force directed graphs
And here are some ideas for how you might use forced directed graphs inside your dev tool:
- Dependency mapping: plot libraries or modules as nodes, and then draw lines to connect dependencies.
- Security vulnerability identification: leverage dynamic node sizes to increase the visibility of any major vulnerabilities.
- Team collaboration mapping: illusrate how team members and projects are connected, then adjust the weight of the connection line depending on the contribution amount.
- API ecosystem mapping: outline APIs and their interconnections, writing the relationships as text captions running along the lines.
Force directed graphs are very useful for rendering complex interconnected data as easy-to-understand visuals. That said, they should still be used judiciously in order to avoid clutter, and it’s worth keeping in mind that they may require some level of expertise to properly interpret.
3: Sunburst diagrams
Sunburst diagrams use rings to show the layers of a hierarchy, letting users see the structure of data from the center outwards, and thus, understand how the parts of something fit within a whole. While these diagrams are a visually appealing way to explore hierarchical data, it’s worth nothing that they can become difficult to visually navigate and interpret with increased complexity and depth.
Below on the left, this mockup from Product Designer Paul Hatch shows a proposal for a sunburst diagram design with various network data allocation displayed. On the right, we see how DaisyDisk uses this kind of visaulization coupled with beautiful colors and a striking diplay so its users may quickly scan and easily visualize MacOS disk usage:
👍 Benefits:
- Easily see how categories and subcategories are organized.
- Rich detail in a compact form that combines data depth and breadth.
- A natural way of exploring data layers and drilling down into details.
👎 Struggles:
- Hard to read as number of layers increase.
- Great for seeing a structure, not for comparing exact sizes.
- More data means more complexity—and potential confusion.
Possible uses for sunburst diagrams
Here are some dev tool use cases for sunburst diagrams:
- Software architecture mapping: a diagram can be centered on the core system or platform, with rings representing layers of the architecture (UI, business logic, data access). From there, segments within each ring represent components or modules, providing a visual map of the software’s structure.
- Repository analysis: start with the repo root at the center, expanding outward through directories to individual files. Give segments a size determined by file size or commit frequency, and color code by file type or age; this setup offers a detailed view of repository contents and activity.
- Performance profiling: We can center the graph on the application, with concentric rings for different aspects of performance (CPU, memory, I/O). Segments represent specific processes or functions, sized by resource usage, to identify areas that may require optimization.
- User interaction paths: place the application homepage or main screen at the center, with paths to different features or screens as the outer rings. Determine the size of segments based on frequency of use, and implement color coding by user satisfaction or conversion rates, tracing how users navigate through the application.
4: Treemaps
Treemap diagrams break down data into nested rectangles, showing how parts of a whole compare in size and scale, making complex hierarchies simpler to digest.
Above on the left is a treemap concept by Product Designer Jamie Fang with various cloud platform stats, and on the right we see an example of a treemap used to display sales data from Slingshot, a tool designed to boost team productivity.
👍 Benefits:
- These diagrams pack a lot of data into a compact area.
- Users can quickly see both the big picture and finer details.
- Color coding can make patterns or categories stand out.