Earlier this week I read an article in the Philadelphia Inquirer about the political prospects of some of the candidates for the open US Senate seat for Pennsylvania, for which I and many others will be voting come November. But before I get to vote on a candidate, members of the political parties first get to choose whom they want on the ballot. (In Pennsylvania, independent voters like myself are ineligible to vote in party primaries.)
This year the Republican Party has several candidates running and one of them you may have heard of: Dr. Oz. Yeah, the one from television. And while he is indeed the front runner, he is not in front by much as the article explains. Indeed, the race largely had been a two-person contest between Oz and David McCormick until recently when Kathy Barnette pulled just about even with the two.
In fact, according to a recent poll the three candidates are all statistically tied in that they all fall within the margin of error for victory. And that brings us to the graphic from the article.
Conceptually this is a pretty simple bar chart with the bar representing the share of the support of those polled. But I wanted to point out how the designer chose to represent the margin of error via hatched shading to both sides of the ends of the red bar.
In some cases the hatch job does not work for me, particularly with those smaller candidates where the bar goes negative. I would have grave reservations about the vote should any candidate win a negative share of the vote. 0% perhaps, but negative? No. I also don’t think the grey hatching works as well over the grey bar in particular and to a lesser degree the red.
I have often thought that these sorts of charts should use some kind of box plot approach. So this morning I took the chart above and reworked it.
Overall, however, I really like this designer’s approach. We should not fear subtlety and nuance, and margins of error are just that. After all, we need not go back too far in time to remember a certain candidate who thought she had a presidential election locked up when really her opponent was within the margin of error.
We’re starting this week with an article from the Philadelphia Inquirer. It looks at the increasing number of guns confiscated by the Transportation Security Administration (TSA) at Philadelphia International Airport. Now while this is a problem we could discuss, one of the graphics therein has a problem that we’ll discuss here.
We have a pretty standard bar chart here, with the number of guns “detected” at all US airports from 2008 through 2021. The previous year is highlighted with a darker shade of blue. But what’s missing?
We have two light grey lines running across the graphic. But what do they represent? We do have the individual data points labelled above each bar, and that gives us a clue that the grey lines are axis lines, specifically representing 2,000 and 4,000 guns, because they run between the bars straddling those two lines.
However, we also have the data labels themselves. I wonder, however, are they even necessary? If we look at the amount of space taken up by the labels, we can imagine that three labels, 2k, 4k, and 6k, would use significantly less visual real estate than the individual labels. The data contained in the labels could be relegated to a mouseover state, revealed only when the user interacts directly with the graphic. Here it serves as a “sparkle”, distracting from the visual relationships of the bars.
If the actual data values to the single digit are important, a table would be a better format for displaying the information. A chart should show the visual relationship. Now, perhaps the Inquirer decided to display data labels and no axis for all charts. I may disagree with that, but it’s a house data visualisation stylistic choice.
But then we have the above screenshot. In this bar chart, we have something similar. Bars represent the number of guns detected specifically at Philadelphia International Airport, although the time framer is narrower being only 2017–2021. We do have grey lines in the background, but now on the left of the chart, we have numbers. Here we do have axis labels displaying 10, 20, and 30. Interestingly, the maximum value in the data set is 39 guns detected last year, but the chart does not include an axis line at 40 guns, which would make sense given the increments used.
At the end of the day, this is just a frustrating series of graphics. Whilst I do not understand the use of the data labels, the inconsistency with the data labels within one article is maddening.
Philadelphia made the national and international news last week, although for once not because we’re all being shot to death. This time because a fire in a rowhome killed 12 people, including nine children. The Philadelphia Inquirer quickly posted a short article explaining what occurred that morning. But the early indication, based upon the confession of a five-year old, is that a child playing with a light set a live Christmas tree on fire.
Ironically, the city prohibits live trees in high rises, apartment buildings, and multi-family dwellings. The rule is in place because live trees are a very real fire hazard. Just a few weeks earlier, a man and two of his sons were killed in a suburb north of Philadelphia (his wife and a third son survived). They died in a fire that began with lights on a live tree. But here in the city, the code states that multi-family dwellings begin at three households. This rowhome had been converted into two separate units, so a live tree was legal. But they would have been better without.
The Inquirer article features a scrolling illustration depicting what we presently know about the fire: how and where it started, why it may have spread, and ultimately who died.
Winter is coming? Winter is here. At least meteorologically speaking, because winter in that definition lasts from December through February. But winters in Philadelphia can be a bit scattershot in terms of their weather. Yesterday the temperature hit 19ºC before a cold front passed through and knocked the overnight low down to 2ºC. A warm autumn or spring day to just above freezing in the span of a few hours.
But when we look more broadly, we can see that winters range just that much as well. And look the Philadelphia Inquirerdid. Their article this morning looked at historical temperatures and snowfall and whilst I won’t share all the graphics, it used a number of dot plots to highlight the temperature ranges both in winter and yearly.
The screenshot above focuses attention on the range in January and July and you can see how the range between the minimum and maximum is greater in the winter than in the summer. Philadelphia may have days with summer temperatures in the winter, but we don’t have winter temperatures in summer. And I say that’s unfair. But c’est la vie.
Design wise there are a couple of things going on here that we should mention. The most obvious is the blue background. I don’t love it. Presently the blue dots that represent colder temperatures begin to recede into and blend into the background, especially around that 50ºF mark. If the background were white or even a light grey, we would be able to clearly see the full range of the temperatures without the optical illusion of a separation that occurs in those January temperature observations.
Less visible here is the snowfall. If you look just above the red dots representing the range of July temperatures, you can see a little white dot near the top of the screenshot. The article has a snowfall effect with little white dots “falling” down the page. I understand how the snowfall fits with the story about winter in Philadelphia. Whilst the snowfall is light enough to not be too distracting, I personally feel it’s a bit too cute for a piece that is data-driven.
The snowfall is also an odd choice because, as the article points out, Philadelphia winters do feature snowfall, but that on days when precipitation falls, snow accounts for less than 1/3 of those days with rain and wintry mixes accounting for the vast majority.
Overall, I really like the piece as it dives into the meteorological data and tries to accurately paint a portrait of winters in Philadelphia.
And of course the article points out that the trend is pointing to even warmer winters due to climate change.
Credit for the piece goes to Aseem Shukla and Sam Morris.
After a rainy weekend in Philadelphia thanks to Hurricane Henri, we are bracing for another heat wave during the middle of this week. Of course when you swelter in the summer, you seek out shade. But as a recent article in the Philadelphia Inquirer pointed out, not all neighbourhoods have the same levels of tree cover, or canopy.
From a graphics standpoint, the article includes a really nice scatter plot that explores the relationship between coverage and median household income. It shows that income correlates best with lack of shade rather than race. But I want to focus on a screenshot of another set of graphics earlier on in the article.
I enjoyed this graphic in particular. It starts with a “simple” map of tree coverage in Philadelphia and then overlays city zip codes atop that. Two zip codes in particular receive highlights with bolder and larger type.
Those two zip codes, presumably the minimum and maximum or otherwise broadly representative, then receive call outs directly below. Each includes an enlarged map and then the data points for tree cover, median income, and then Black/Latino percentage of the population.
I don’t think the median income needs to be in bar chart form here, especially given the bars do not line up so that you can easily compare the zip codes. The numbers would work well enough as factettes or perhaps a small dot plot with the zip codes highlighted could work instead.
Additionally, the data labels would be particularly redundant if a small scale were used instead. That would work especially well if the median income were moved to the lowest place in the table and the share charts were consolidated in one graphic. Conceptually, though, I enjoy the deep dive into those two zip codes.
Then I wanted to highlight some great design work on the maps. Note how in particular for Chestnut Hill, 19118, the outline of the zip code is largely in a thicker, black stroke than the rest of the map. At the upper right, however, you have two important roads that define the area and the black stroke breaks at those points so the roads can be clearly and well labelled. The other map does the same thing for two roads, but their breaks are shorter as the roads run perpendicular to the border.
Overall this was just a great piece to read and I thoroughly enjoyed the graphics.
Okay, technically not Spring Garden Street, but a strip mall along one of Philadelphia’s main arterial city streets. Luckily these aren’t some victims of a serial murderer, but rather the result of Philadelphia being an old city (for the United States). As this article from the Philadelphia Inquirer explains, the bodies were discovered during excavations for new construction at the site.
The reason I shared this today was that this past weekend, I had a pint with a colleague of mine at Yards Brewery located at 5th and Spring Garden. We sat at an outside table along Spring Garden and at some point I recall pointing out that Spring Garden hadn’t always been a street. Originally it only existed west of Broad.
Little did I know that the construction site across the street on that sultry Sunday afternoon was home to an archaeological excavation of an old, long since demolished city church cemetery.
You can use the slider in the article to compare the layout of the intersection in 2021 to that of 1860. I love these old timey maps, especially when working on genealogy. Because while we know the cities where we live today, they didn’t look like we know them 150 years ago. And in lieu of photography, it’s otherwise difficult to try and make sense of our ancestors’ world.
Just a few doors south of the Methodist church we had a bakery and a small alley called Brussels Place. And facing the alley we had what look like a number of small homes or perhaps stables. Larger presumably rowhomes lined the main streets of the intersection.
At the right of the screen, I also remember my colleague and I discussing some of the old-looking rowhomes. They may very well be the same ones depicted on this 1860 map. They are the few survivors as most of the area, as the article points out, was eventually turned into a petrol station that later became the strip mall today fenced off to be turned into flats.
This is a piece I’ve been sitting on for a little while now, okay half a year now. There isn’t too much to it as it’s an illustration overlay on a satellite photo. But the graphic supports an article about the construction of a new roundabout in Philadelphia, coincidentally where I used to live.
That intersection is…tricky to navigate at best as a pedestrian because there are six and a half streets converging at the junction—I give a half to Arizona St because, well, you’ll see shortly. When I lived in the neighbourhood I saw several near accidents between vehicles and pedestrians and vehicles and cyclists. Anything to help improve the safety will be welcome. And that improvement is what the Philadelphia Inquirercovered back in January.
This definitely fits in the category of well done, small graphics. Not everything needs to be large and interactive. This does a great job by using transparency over the satellite image and layering illustration atop the photo.
Now if we could only restore the old rails on Trenton Ave to be some kind of tram/trolley or light rain corridor. Regardless, there are some good restaurants and drinks options in the neighbourhood, so maybe I’ll have to go investigate in person now that going out is an option again. You know, to a do a proper follow-up.
A little over a week ago the Philadelphia Inquirer posted an article about sharks. It wouldn’t be the American holiday of 4th of July without mentioning Jaws. Think of it, there really are no good Hollywood films about the Constitutional Convention or Declaration of Independence. I mean we have Mel Gibson’s The Patriot. But, that’s terrible. I digress, we’re here to talk about sharks.
A great white shark swam past the Jersey coast in mid-June. She swam just off the shore of Atlantic City’s beaches before moving on towards a shark nursery in more northern waters near New York and New Jersey.
Why are we discussing it? Because sharks have always fascinated me. It’s my blog. Oh, and it had a map.
There isn’t much to say about this map, it makes a good use of contrasting red for the shark’s path against the light blue of the ocean.
Hopefully none of you were eaten by a shark over the holiday.
First, I should say that I don’t have a lot to say about this graphic because I went back to the source because I was interested in another city and I wanted to compare the two. In other words, expect a small graphic follow up to this maybe tomorrow.
Anyways, over the last few years since returning to Philadelphia after eight years away in Chicago, I’ve had numerous conversations with different people about how “I don’t remember it always being this hot before”, which is particularly relevant as the Philadelphia region endures excessive heat. Thankfully, it’s not nearly as bad as the Pacific Northwest. Also I have air conditioning blasting next to me as I type this out, so, you know.
The common refrain in these conversations, however, tends to be less about how we have high temperatures and more about how it’s difficult to sleep at night. And there’s a reason for that as this article from the Philadelphia Inquirer explains, our average summer low temperatures are rising, and rising faster than our average summer high temperatures.
Of course you can probably already see where I was going with this. The Inquirer linked to their source and that’s where I’ve spent my time this morning, alas, I didn’t quite have enough to finish what I started and so this post will have to do.
Credit for the piece goes to the Philadelphia Inquirer graphics department.
In many cities through the United States, real estate represents a hot commodity. It’s not difficult to understand why, as have covered before, Americans are saving a bit more. Coupled with stay-at-home orders in a pandemic, spending that cash on a home down payment makes a lot of sense for a lot of people. But with little new construction, it’s a seller’s market.
The Philadelphia Inquirer covers that angle for the Philadelphia region and in the article, it includes a map looking at time to sell a house. And it’s that interactive map I want to look at briefly this morning.
Primarily I want to discuss the colours, as you can gather from this post’s title. We have six bins here, each indicating an amount of time in one-week intervals. So far so good. Now to the colours, we have red for homes that sell in one week or less and blue for homes that sell in five weeks or more.
Blue to red is a pretty standard choice. You will often see it in maps where you have positive growth to negative growth or something similar, I’ve used it myself on Coffeespoons a number of times, like in this map of population growth at the county level here in Pennsylvania.
In those scenarios, however, note how you have positive values and negative values. The change in colour (hue) encodes the change in numerical value, i.e. positive vs. negative. We then encode the values within that positive or negative range with lighter/darker blues and reds. Most often the darker the blue or red, the greater the value toward the end of the spectrum. For example, in Pennsylvania, the dark blue meant population growth greater than 8% and red meant population declines in excess of 8%.
As an aside you’ll note that there are no dark blue counties in that map and that’s by design. By keeping the legend symmetrical in terms of its minimum and maximum values, we can show how no counties experienced rapid population growth whilst several declined rapidly. If dark blue had meant greater than 4% growth, that angle of the story would have been absent from the map.
Back to our choropleth discussion, however. How does that fit with this map of selling times for homes in the Philadelphia region?
Note first that five weeks is a positive value. But so is one week or less. The use of the red-blue split here is not immediately intuitive. If this map were about the change or growth in how long homes sell, certainly you could see positive and negative rates and those would make sense in red and blue.
The second part to understand about a traditional red-blue choropleth is that at some point you have to switch from red to blue, a mid-point if you will. If you are talking positive/negative like in my Pennsylvania map, zero makes a whole lot of sense. Anything above zero, blue, anything below zero red.
Sometimes, you will see a third colour, maybe a grey or a purple, between that red and blue. That encodes a fuzzier split between positive and negative. Say you want to give a margin of 1%, i.e. any geographic area that has growth between +1% and -1%. That intrinsically means the bin is both positive and negative at the same time, so a neutral colour like grey or a blend of the two colours, a purple in the case of red and blue, makes a whole lot of sense.
Here we have nothing like that. Instead we jump from a light yellow two-to-three weeks to a light blue three-to-four weeks.
What about that yellow? In a spectrum of dark blue to light blue, you will see lighter blues than darker blues. But in a red spectrum, that light red becomes pinkish or salmonish depending on that exact type of red you use. (Conversation for another day.) Personal preferences will often push clients to asking a designer to “use less pink” in their maps. I can’t tell you the number of times I’ve heard that.
If that comes up, designers will often keep their blue side of the legend from the dark to light—no complaints there, or at least I’ve never heard any. But for the red side, they’ll switch to using hue or type of colour instead of dark to light red.
Not all colours are as dark as others. Blue and red can be pretty dark. Yellow, however, is a fairly light colour. Imagine if you converted the colours to greyscale, you’ll have very dark greys for blue and red, but yellow will be consistently far lighter than the other two.
The designer can use the light yellow as the light red. But to link the yellow to red, they need to move through the hues or colours between the two. There’s a whole conversation here about colour theory and pigment and light absorption vs. pixels and light emission, but let’s go back to your colours you learned in primary school (pigment and light absorption). Take your colour wheel and what sits between red and yellow? Orange.
And so if a client objects to a light pink, you’ll see a pseudo dark-to-light red spectrum that uses a dark red, a medium orange, and a light yellow. Just like we see here in this Inquirer map.
Back to the two-to-three week and three-to-four week switch, though. What’s the deal? This is my sticking point with the graphic. I am looking for the explanation of why the sudden break in colour here, but I don’t see any obvious one.
Why would you use this colour scheme where blue and red diverge around a non-zero value? Let’s say the average home in the region sells in three weeks, any of the zip codes in red are selling faster than average, hot markets, and those taking longer than average are in blue, cold markets. Maybe it’s the current average, however. What if it were the average last year? Or the national average? These all serve as benchmarks for the presented data and provide valuable context to understand the market.
Unfortunately it’s not clear what, if any, benchmarks the divergence point in this map reflects. And if there is no reason to change colours mid-legend, with only six bins, a designer could find a single colour, a blue or purple for example, and then provide five additional lighter/darker shades of that to indicate increasing/decreasing levels of speed at which homes sell.
Overall, I left this piece a wee bit confused. The general trend of regional differences in how quickly homes are selling? I get that. But because there’s a non-logical break between red and blue here—or at least one I fail to see in the graphic—this map would work almost as well if each bin were a separate colour entirely, using ROYGBIV as a base for example.