Understanding Ugly Lies
Ugly Lies is a term used in data visualization and statistical communication to describe charts, graphs, or visual representations that are so poorly designed they actively mislead or confuse the viewer. Unlike a subtle bias in how data is presented, an ugly lie is usually obvious in hindsight — someone took a valid dataset and shaped the visual so badly that the takeaway becomes garbage. There are a few common techniques people use to turn honest numbers into something ugly and misleading: A few years ago I was reviewing a report from a vendor who was trying to convince us their product reduced incident resolution times. They had a bar chart comparing their tool against ours. The Y-axis started at 4.2 hours instead of zero. Their bar looked half the height of ours, which visually implied they were twice as fast. In reality the difference was about eleven minutes — 4.7 hours versus 4.8 hours. I asked for the raw numbers and the axis labels, which completely changed the story. That report ended up in the trash.
This is exactly what ugly lies look like in practice. The numbers aren't fabricated. The deception comes from the design choices around how those numbers are shown.
How to avoid creating ugly lies in your own work
The good news is that most of these problems are easy to fix once you know what to look for. Here's a practical checklist I use before sharing any chart: For bar charts and column charts, the baseline should almost always be zero. If you need to show a small range of values, call it out explicitly. Use a straight-line break symbol or note it in the caption. The only exception is when you're showing something like temperature or pH where zero isn't a meaningful baseline, but even then you should think carefully before truncating. Don't decorate charts with images, gradients, or textures that add visual noise. A red-and-gold gradient behind a bar chart doesn't make the data more trustworthy. It makes it look like a marketing brochure. Clean, flat designs are easier to read and harder to weaponize.
Get the Full Details

A single number without comparison is rarely useful. Add benchmarks, averages, or prior-period data so viewers can interpret what they're seeing. A revenue figure of $2 million means nothing on its own. It means a lot if you also show last year's $1.8 million beside it. Axes should have labels. Units should be visible. If a percentage is being shown, say whether it's a percentage of the total or a percentage point change. These are not the same thing and mixing them up is one of the fastest ways to produce an ugly lie unintentionally. I've seen smart analysts accidentally create misleading visuals simply because they were rushing to meet a deadline. Here are the traps I see most often:
Overplotting in scatter plots — When you have thousands of data points, they stack on top of each other and create dark blobs that look like clusters. The solution is either transparency (alpha blending) or a hexbin plot, which bins points into hexagonal regions and colors them by density. This usually takes about thirty seconds to implement in most plotting libraries. Showing averages without distribution — A chart that only displays mean values hides everything about the variance. Two datasets can have the exact same average but completely different spreads. I always add error bars or a box plot alongside the mean. It takes minimal extra effort and prevents a whole class of misinterpretations. Mixed aggregate levels — Combining individual-level data with aggregated data on the same chart is a recipe for confusion. If you're showing team-level sales alongside individual rep sales, the scales will fight each other. Pick one level and stick with it, or use a separate panel for each.
When ugly lies are intentional
Sometimes the goal is genuine deception, not just carelessness. Sales teams, political campaigns, and press releases all routinely produce ugly lies because the visual makes a weak argument look strong. I've seen a line chart where the X-axis had uneven intervals — two years of data squeezed into half the space, then one year spread across the other half. The trend looked explosive. It was just an artifact of the spacing. When you encounter this kind of chart, the first thing to do is check the axis scales and the raw data. If someone won't provide the raw data, that's your answer right there.

Alternatives to suspect
If you're ever unsure whether a visualization is honest or ugly, try these quick checks: Recreate the chart from scratch using the same data. If your version tells a different story, the original was lying. Switch from a pie chart to a bar chart — you'll almost always see the differences more clearly. Ask someone who wasn't involved in making the chart to interpret it. If they reach a conclusion you didn't intend, the design failed regardless of whether it was malicious. Ugly lies are everywhere in data work. They range from accidental sloppiness to deliberate manipulation, and the line between them is thin. The best defense is knowing what to look for and having the habit of checking the raw numbers before trusting the picture.