Sign in

Georgios Karamanis

@karaman.is
2.8K followers 202 following 402 posts

Dataviz designer, psychiatrist, PhD karaman.is

PostsRepliesMedia
Georgios Karamanis @karaman.is · 25/09/2026
IKEA names its sofas after Swedish places, and most of its armchairs follow the same rule. IKEA Sweden sells 64 of them right now, and I put every one on a map. Pick a sofa or armchair and see where it comes from! karaman.is/ikea-place-n... #dataviz #maps
 A web page titled "The IKEA place-name map". On the left, a dropdown has MALMKÖPING selected. Below it is a photo of a beige 3-seat sofa priced from 7 295 kr, and it is placed in Flens kommun, Södermanlands län. On the right is a map of Sweden with dots for sofas, armchairs and places that have both. Most dots are in the south, and Älmhult, IKEA's home town, is marked with a red cross.
4387
Georgios Karamanis @karaman.is · 23/09/2026
This week's #TidyTuesday is about urban green space from UN Habitat. Two in three of 1,112 cities lost green space since 1990. The largest gain was only 18 percentage points, while three cities lost more than 60. Code: github.com/gkaramanis/t... #RStats #dataviz
Line chart titled "Cities lose green space far faster than they gain it", in six small panels, one per region: Africa, Asia, Europe, Latin America & Caribbean, Northern America and Oceania. Each panel shows the change in the share of urban area covered by green space since 1990, in percentage points, for the three cities with the largest gains (blue) and the three with the largest losses (dark red) in that region. All lines start at zero in 1990 and end in 2020 or 2025, with the city name and country code at the end. Gains stay below +18 points everywhere, led by Stoke-on-Trent in the UK. Losses are much deeper in Africa, Asia and Latin America, where the worst cities fall by 40 to 63 points. Bissau, Kenema and Bo in West Africa lose the most. Losses in Europe, Northern America and Oceania stay between 13 and 25 points.
0121
Georgios Karamanis @karaman.is · 20/09/2026
This week's #TidyTuesday is the Dead Sea Scrolls. An Euler diagram of the 28 canonical books in the collection, by manuscript language. 18 are Hebrew only, Leviticus is the only one in all three. Code: github.com/gkaramanis/t... #RStats #dataviz
Euler diagram titled "Dead Sea Scrolls: Biblical books by language", showing all 28 canonical books identified among the scrolls, placed by the primary language of the manuscripts that preserve them. Three overlapping rotated squares on a near-white background, Hebrew in pale sand, Greek in terracotta and Aramaic in muted teal. The Hebrew square is much the largest and holds 18 books on its own. Four books sit in the Hebrew and Greek overlap, four in the Hebrew and Aramaic overlap, and one, Leviticus, in the small region where all three meet. One book survives in Greek alone. No book is in Aramaic alone.
0141
Georgios Karamanis @karaman.is · 13/09/2026
This week's #TidyTuesday uses the Cappuccino Index by @jameshoffmann.bsky.social. A barista in India works 2h 52m to earn one cappuccino. In Australia, 10 minutes. Code: github.com/gkaramanis/t... #RStats #dataviz
Circle pack chart titled "Who can afford the coffee they make?", showing how long a barista has to work to afford one cappuccino in 36 countries, from James Hoffmann's Cappuccino Index. Circles are sized and coloured by that time, and the colour runs from dark blue for the shortest through teal and yellow to dark red for the longest. Two panels split the countries by World Bank income group, each with a small inset world map showing which countries it covers. The middle income panel holds seven countries, led by India at 2h 52m in dark red, then the Philippines 1h 51m, Mexico 1h 15m, Turkey 1h 13m, Malaysia 1h 7m, Argentina 1h and Brazil 57m. The high income panel holds 29 countries and is mostly dark blue. Russia 52m and Chile 49m are the largest, followed by Romania 41m, Greece 36m, Hungary and Portugal 30m, Poland 29m and Czechia 28m. Most of western Europe sits between 14 and 21 minutes. The smallest circles are Australia 10m, Italy 12m and New Zealand 13m.
0110
Georgios Karamanis @karaman.is · 06/09/2026
This week's #TidyTuesday is about castles. I mapped the 5,793 castles, fortresses and palaces in Castlemap, from Wikidata. Europe holds 4,083 and Asia 1,280. Code: github.com/gkaramanis/t...
Six maps titled "Castles of the World", one for each continent, showing the 5,793 castles, fortresses, palaces and ruins that Castlemap gathers from Wikidata. Each landmark is a dot, coloured by the number of other castles within 100 km, dark red where a castle stands alone and orange where many cluster together. All six maps share the same window size, so the continents keep their relative scale. The top row holds North America 167, Europe 4,083 and Asia 1,280, the bottom row South America 113, Africa 144 and Oceania 6. Europe is far denser than the rest and holds the brightest dots, in western Germany, the Netherlands, Belgium, Luxembourg and Czechia. The three countries with the most landmarks are named in each map: the United States 98, Canada 23 and Cuba 11; France 351, Italy 350 and Germany 349; Japan 297, India 156 and China 121; Brazil 78, Chile 15 and Argentina 5; Ghana 31, Egypt 26 and Morocco 25; Australia 3, New Zealand 2 and Tonga 1.
0151
Georgios Karamanis @karaman.is · 26/08/2026
This week's #TidyTuesday is about country music lyrics. I ranked words by the share of each year's Top 30 singles using them. Girl, time and love have swapped the top three places every year since 2013 Code: github.com/gkaramanis/t... #RStats #dataviz
A bump chart titled "Girl, time, love". It tracks the ten words that appear in the most country songs each year from 2013 to 2019, ranked one to ten, across 484 singles that reached the Top 30 of Billboard's Country Airplay chart. Each word is a line that moves up and down as its rank changes. The five words holding the top places in 2019 are coloured and labelled on the right, the rest are grey. Girl ends first in 2019 at 38% of songs, time second at 37%, love third at 35%, town fourth at 32% and night fifth at 31%. Girl, time and love swap the top three places throughout. Baby starts first in 2013 at 62% of songs and falls to sixth by 2019 at 28%, the largest movement on the chart. Town appears only in 2015 and 2019, climbing from sixth to fourth. Words that reach the top ten in a single year, among them dance, alright, life and break, are drawn as single points with no line. The remaining words are heart, hand, eyes, road, home, tonight, song, kiss, world and day.
070
Georgios Karamanis @karaman.is · 20/08/2026
This week's #TidyTuesday is IELTS scores by nationality. Each country is drawn as its shape placed by average score. Countries where English is official score high, but Germany is highest at 7.57. Code: github.com/gkaramanis/t... #RStats #dataviz
A beeswarm chart titled "Germany speaks the best test English". Each of about 40 countries is drawn as its own map silhouette, placed left to right by the average overall IELTS Academic score of its test-takers on a 0 to 9 scale, and labelled with the country name and score. Silhouettes are coloured by whether English is an official or primary language, teal for yes and warm grey for no. Most countries fall between 5.4 and 7.1. Germany is furthest right at 7.57, well ahead of the field. Next come Spain at 7.09, Malaysia at 7.06 and Italy at 7. The lowest are Oman at 5.41, the United Arab Emirates at 5.5 and Kuwait at 5.61. Teal countries where English is official, among them Nigeria at 6.72, Kenya at 6.7 and Malaysia at 7.06, sit in the upper half but none of them tops the chart.
090
Georgios Karamanis @karaman.is · 16/08/2026
This week's #TidyTuesday is the Palomar spectroscopic survey of more than 400 galaxy cores Code: github.com/gkaramanis/t... #RStats #dataviz
A scatter plot titled "Stars or a black hole?" showing more than 400 nearby galaxies from the Palomar survey. The horizontal axis is the nitrogen glow compared with hydrogen, the vertical axis is the oxygen glow compared with hydrogen, both on a log scale. Each galaxy is a dark navy point, and the point shape marks its Hubble type: a filled circle for elliptical, an open circle for lenticular, an asterisk for spiral, a cross for irregular, and a small dot for unknown. Two curved lines cross the plot, an amber Kauffmann 2003 line and a violet Kewley 2001 line, and they split it into three regions. Points in the lower left are labelled lit by young stars, points in the middle a mix of both, and points in the upper right lit by a black hole. Most points form a diagonal band, and a large group reaches into the upper-right black-hole region. A small bar chart in the lower right counts the galaxies by type, with spirals by far the most common, then lenticulars, ellipticals, irregulars and a few unknown.
070
Reposted by Georgios Karamanis
coolbutuseless @coolbutuseless.bsky.social · 03/08/2026
Moody render with {rayrender} with #Backrooms palette * gyroid: sin(x).cos(y) + sin(y).cos(z) + sin(z).cos(x) * isosurface at level = 0 * meshed via surface nets * render with {rayrender} #RStats
3d render of a gyroid with a palette inspired by the movie "Backrooms"
042
Georgios Karamanis @karaman.is · 09/08/2026
This week's #TidyTuesday is about wool from Lesotho. From May 2018 it all had to be sold through one broker at home, and China's share went from 56% to 94%. The rule ended in 2019 and it fell to 33%. Code: github.com/gkaramanis/t... #RStats #dataviz
A line chart titled "Lesotho's wool, rerouted", showing the monthly value of wool imported from Lesotho by China in dark red and by South Africa in yellow. The chart is split into nine panels, one per year from 2016 to 2024, and the line runs continuously across the panel borders. The months from May 2018 to September 2019 are shaded grey. Values run from zero to about 11 million dollars a month, and both series are seasonal, with peaks around the middle and the end of each year. Before 2018 the two countries alternate and South Africa takes the larger peaks. Through the shaded months the yellow line sits close to zero for long stretches while the dark red line climbs to peaks above 6 and 8 million, so almost all of the trade goes to China. As soon as the shading ends the pattern flips back. South Africa takes the tallest peaks after that, up to 11 million in late 2021, and China stays lower for the rest of the series. Breaks in either line are months with no recorded trade.
090
Georgios Karamanis @karaman.is · 02/08/2026
This week's #TidyTuesday is about where Australians holiday, summer vs winter. Each square is an equal share of all holiday trips. In winter the country moves north, Queensland goes from 14% to 23% Code: github.com/gkaramanis/t... #RStats #dataviz
Two mosaic cartograms of Australia side by side, titled "Australia goes north for winter". The left map is labelled Summer (Q1), the right one Winter (Q3). Each map is built from small squares, where one square is an equal share of all domestic holiday trips, so the size of a region shows how big a share of national holiday travel it takes rather than how large it is on the ground. Regions are coloured by state: blue for New South Wales, red for Victoria, orange for Queensland, purple for South Australia, green for Western Australia, terracotta for the Northern Territory, slate grey for Tasmania and violet for the Australian Capital Territory. Solid colour marks a capital city, faded colour the rest of the state. From summer to winter the northern regions swell and the southern ones shrink. Rest of Queensland grows from roughly a seventh of the map to nearly a quarter, and the Northern Territory and Western Australia also gain. Rest of Victoria contracts noticeably, and Tasmania loses most of its squares, shrinking to a small cluster at the bottom of the winter map.
1130
Georgios Karamanis @karaman.is · 25/07/2026
This week's #TidyTuesday is about near-death experiences from NDERF. I scraped about 5,570 entries and plotted the day and month each person gave as the date of their experience. Most of the calendar is even, but some dates stick out. Code: github.com/gkaramanis/t... #RStats #dataviz
A heatmap titled "When people say they almost died". Rows are the twelve months, January at the top down to December at the bottom; columns are the days of the month, 1 to 31. Each square is shaded by how many near-death experiences were reported on that date, yellow for few and dark purple for many, with the count printed inside. Most of the grid is yellow, with counts in the single digits or low teens. A vertical band stands out on the 18th of every other month, where counts run higher, from around 45 to 105. Two squares are far darker than the rest: the 1st of January and the 18th of January, each with more than 900 reports. Short months leave a few blank squares at the right edge where days 29 to 31 don't exist.
080
Georgios Karamanis @karaman.is · 15/07/2026
This week's #TidyTuesday is about the penguins in the AVONET database of bird traits (Tobias et al. 2022). Ten body measurements for 93 penguins, across 18 species and six genera Code: github.com/gkaramanis/t... #RStats #dataviz
A grid of small ridgeline plots titled "Measuring penguins". It compares ten body measurements across six penguin genera. The genera run down the rows: Aptenodytes, Eudyptes, Eudyptula, Megadyptes, Pygoscelis and Spheniscus. The ten measurements run across the columns: beak depth, beak length at the culmen and at the nares, beak width, first secondary length, hand-wing index, Kipp's distance, tail length, tarsus length and wing length. In each panel, three smoothed curves show how the measurements are distributed by sex, with females in red, males in orange and unknowns in blue, and a small triangle marks each penguin. Eudyptes and Pygoscelis have the fullest data across all three groups. Eudyptula, Megadyptes and Spheniscus have much less, often just a few birds of unknown sex. Aptenodytes, the largest penguins, sit furthest to the right on wing and tail length.
0121
Georgios Karamanis @karaman.is · 12/07/2026
Filamentous #RStats code: github.com/gkaramanis/a... #Rtistry #generativeart
Generative art of a dense circular tangle of thin white lines on a dark
charcoal background. Filaments grow outward from the center, wobbling and branching at sharp angles, crossing one another to form an intricate mesh of small angular shapes, like frost on glass or a lichen colony. The lines get finer and sparser toward the frayed outer edge, giving the disc a soft, bristly rim.
0215
Georgios Karamanis @karaman.is · 11/07/2026
This week's #TidyTuesday looks at how UFC fights end: the heavier the division, the bigger the share of knockouts Code: github.com/gkaramanis/t... #RStats #dataviz
A diverging bar chart titled "Heavier hands, earlier nights", showing how every UFC fight since 1994 has ended, by weight division. Divisions are listed from lightest to heaviest in two groups, women's at the top and men's below. Bars grow to the left for fights that ended early, split into knockouts in red and submissions in blue, and to the right for fights that went to the judges, in beige. A white number on each red bar gives the division's knockout share, which climbs steadily with weight: from 14% in women's strawweight and 24% in men's flyweight to 45% in light heavyweight and 52% in heavyweight. Small colored numbers under each division name count its knockouts, submissions and decisions; men's lightweight has the most fights and women's featherweight by far the fewest.
090
Georgios Karamanis @karaman.is · 04/07/2026
#MakingOf of this week's #TidyTuesday plot
1292
Georgios Karamanis @karaman.is · 01/07/2026
This week's #TidyTuesday maps shipwrecks off Ireland, from the Wreck Inventory of Ireland Database Code: github.com/gkaramanis/t... #RStats #dataviz
A map titled "Shipwrecks off Ireland" showing the island of Ireland on a blue sea shaded by depth. Thousands of dark red dots mark recorded shipwrecks. They cluster most densely along the east and south coasts and in the north, thin out along the west coast, and continue as a sparse, widely spaced scatter far out into the Atlantic. A pale hatched band marks Ireland's maritime boundary, curving out to the west and south. The seas are labelled in italics: Atlantic Ocean to the west, Irish Sea to the east, Celtic Sea to the south. Ports are marked with star symbols and labelled: Dublin, Cork, Waterford, Shannon Foynes and Rosslare, with Derry (Foyle Port) and Greencastle in the north. A callout box in the lower right points to a wreck east of Dublin and reads: "RMS Leinster, 1918. Torpedoed by the German submarine UB-123, she sank with the loss of more than 500 of those aboard, the Irish Sea's worst single loss of life. The wreck now lies buried in sand about 25 metres down."
0416
Georgios Karamanis @karaman.is · 26/06/2026
This week's #TidyTuesday compares two papal encyclicals 135 years apart. The chart shows the words that most set the two texts apart. Words drawn with {lofifonts} Code: github.com/gkaramanis/t... #RStats #dataviz
A tall chart on a cream background titled "Two Popes Named Leo, 135 Years Apart". Twenty words are drawn in a thin, wireframe-style display font and split into two color groups around a central zero line. At the top, in dark red, are words from Pope Leo XIII's 1891 encyclical Rerum Novarum: labor, nature, law, classes, rights, private, religion, property, authority and man's. These extend to the left. At the bottom, in dark teal, are words from Pope Leo XIV's 2026 encyclical Magnifica Humanitas: digital, ai, development, humanity, responsibility, economic, person, dignity, human and social. These extend to the right. Each word sits on the side of the encyclical that uses it more often, and its length shows how much larger that gap in frequency is, measured along a percentage axis at the bottom. "Labor" and "social" are the longest, the most lopsided words. Each group is labeled with its encyclical, pope and year.
2130
Georgios Karamanis @karaman.is · 20/06/2026
This week's #TidyTuesday is about UK baby names given to both boys and girls. These twelve names saw the balance between the two shift the most from 1997 to 2024 Code: github.com/gkaramanis/t... #RStats #dataviz
A grid of twelve small charts on an off-white background, titled "Shifting names". Each chart is a UK first name given to both boys and girls. The names are Sacha, Nikita, Casey, Cody, Elisha, Brodie, Laurie, Rio, Remy, Shae, Brooklyn and Quinn. Within each, every horizontal bar is one year from 1997 at the top to 2024 at the bottom, split into orange for girls on the left and green for boys on the right, with a center line marking an even split. Small numbers where the colors meet give the counts in the first and last year. Nine of the twelve show orange at the top giving way to green toward the bottom, meaning they shifted from mostly girls to mostly boys, with Sacha the most extreme. Brooklyn and Shae make a U shape, starting orange, turning green in the middle, then returning to orange. Quinn runs the other way throughout, from green to orange.
0130
Georgios Karamanis @karaman.is · 14/06/2026
This week's #TidyTuesday is about films based on video games Built as a Quarto reveal.js presentation using the timeline extension by @emilhvitfeldt.bsky.social Interactive version at karaman.is/blog/2026/06... Code: github.com/gkaramanis/t... #RStats #QuartoPub #dataviz
1396
Georgios Karamanis @karaman.is · 06/06/2026
This week's #TidyTuesday looks at maternity leave across Europe: How many weeks before and after birth, and how much is mandatory vs voluntary. Ireland leads at around 40 weeks total, the UK at just 2.
A horizontal diverging bar chart showing maternity leave before and after childbirth for 21 European countries in 2024. Each country has two bars extending from a central vertical line: blue-grey bars to the left show weeks before birth, orange bars to the right show weeks after. Within each bar, a crosshatch pattern marks the mandatory portion; the remaining outlined space is voluntary. Countries are sorted by total leave. Ireland is by far the longest at around 42 weeks total, with a large voluntary after-birth portion. Slovakia and Czechia follow at around 28 weeks each. The UK is the shortest at 2 weeks. Several countries, including Germany and Poland, have no before-birth leave at all. The chart title reads "Maternity leave in the EU, 2024".
0121
Georgios Karamanis @karaman.is · 31/05/2026
This week's #TidyTuesday maps traditional biomass (firewood, charcoal, dung) as a share of final energy use from 1990 to 2010. In the world's poorest countries it supplied most of their energy, a marker of energy poverty rather than a green choice. Code: github.com/gkaramanis/t... #RStats #dataviz
A geographic grid map of the world where each country or territory is a row of coloured stripes, one per year, showing the share of final energy that came from traditional biomass from 1990 to 2010. Colour runs from dark purple for near zero to yellow for 100 percent. Most of Sub-Saharan Africa, South and South-East Asia are bright, with Ethiopia, Nepal and Nigeria among the highest, while Europe, North America and other rich countries stay dark purple at close to zero. A row of regional and income-group aggregates runs along the bottom: the World sits near 10 percent, low-income countries above half, and high-income countries near zero. The title reads "Renewable by necessity", and the subtitle explains that this reflects energy poverty rather than a green choice: traditional biomass is the fuel the poorest countries fall back on, and the fires degrade forests and produce smoke linked to millions of deaths a year.
0162
Georgios Karamanis @karaman.is · 23/05/2026
This week's #TidyTuesday is about Crossref metadata quality. I made a table showing how well the top 20 countries by journal article volume document their research Made with {gt} Code: github.com/gkaramanis/t... #RStats #dataviz
A table titled "Research Nexus Readiness" showing Crossref metadata coverage for the top 20 countries by journal article DOI volume as of April 2026. Countries are grouped by world region and each row displays a country flag, country name, total DOI count in millions, and percentage of articles with references, abstract, an author ORCID ID, funding acknowledgment, funder ID, and license metadata. The percentage columns are shaded with a blue color scale, darker means higher coverage. The United States leads with 64.71 million DOIs. Stark differences are visible: reference coverage is generally high, while ORCID and license metadata rates are much lower across the board.
0204
Georgios Karamanis @karaman.is · 14/05/2026
This week's #TidyTuesday is about twin cities. I built a scrollytelling map about Rio de Janeiro's 93 sister city agreements Made with Quarto and Closeread Interactive: 019e2679-54db-2e9a-2e03-8bbc8b92210f.share.connect.posit.cloud Code: github.com/gkaramanis/t... #RStats #dataviz
3387
Georgios Karamanis @karaman.is · 10/05/2026
This week's #TidyTuesday is about Italian industrial production. A simple line chart combining Istat statistics with data from Wikipedia Code: github.com/gkaramanis/t... #RStats #dataviz
A line chart titled "2.2 Million Cars" on a warm off-white background, showing Italian passenger car production from 1919 to 2024. Two lines: a dark navy area line from the Istat dataset covering the historical period from 1919, and a terracotta line from Wikipedia covering the more recent period to 2024. The chart peaks sharply in 1989 at 2.2 million units, then declines steeply. Key events are annotated with labels: Ferrari founded (1939), Italy enters WWII (1940), End of WWII (1945), Fiat 500 launched (1957), Lamborghini founded (1963), Oil crisis (1973), Lamborghini bankrupt (1978), Peak production 2.2M units (1989), Fiat Punto launched (1993), Lamborghini to VW (1998), Fiat: 90% of production (2001), Financial crisis (2008), Fiat Chrysler formed (2014), Stellantis formed (2021). Caption reads "Source: Istat, Automotive industry in Italy (Wikipedia) · Graphic: Georgios Karamanis."
1120
Georgios Karamanis @karaman.is · 03/05/2026
This week's #TidyTuesday is about US agricultural import tariffs. Sugar is the only category with a hard annual import quota. Once that fills, trade effectively stops. Code: github.com/gkaramanis/t... #RStats #dataviz
A horizontal bar chart titled "THE SUGAR WALL" on a light grey background, showing the highest import tax rate for each of the 24 HTS agricultural product categories entering the United States. Bars are sorted from shortest to longest. Most bars are slate blue; the Sugars bar is orange with an annotation reading "Sugar has a modest tax rate, but once the annual limit is hit, no more gets in." Tobacco has the longest bar at 350%, followed by Oil seeds at 164% and Vegetable & fruit preparations at 132%. Sugar sits near the lower middle at 12%. The x-axis is labelled "Highest import tax in the category (% of value)." Caption reads "Source: USITC Tariff Database · Graphic: Georgios Karamanis."
171
Georgios Karamanis @karaman.is · 30/04/2026
And that's a wrap for #30DayChartChallenge! The personal theme for this year was Uppsala transportation. Additional constraints were using the same color palette, fonts, plot orientation and dimensions across all plots. #Rstats code for all 24 plots at github.com/gkaramanis/3... #dataviz
A 6-by-4 grid of 24 charts, all on the theme of Uppsala transportation for the #30DayChartChallenge
4483
Georgios Karamanis @karaman.is · 29/04/2026
#day29 of #30DayChartChallenge, (almost) Monochrome code: github.com/gkaramanis/3... #RStats #dataviz
A horizontal bar chart titled "Boardings per km of service" with the subtitle "Swedish counties, public transport 2024". Each of Sweden's 21 counties is shown as a thick horizontal bar with the rounded value and county name displayed inline to the right. Stockholm stands out at the top with 5 boardings per offered kilometre, far ahead of Västra Götaland at 2.2 and Skåne at 1.6. Uppsala, highlighted in saffron, sits near the middle at 1.0. The remaining counties range from 0.9 down to 0.4, all shown in grey. Source: Trafikanalys.
082
Georgios Karamanis @karaman.is · 28/04/2026
#day28 of #30DayChartChallenge, Modeling code: github.com/gkaramanis/3... #RStats #dataviz
A line chart titled "2 500 kr by 2050?" showing the Uppsala public transport monthly pass price from 2014 to 2050. Black dots mark observed annual prices, rising from 790 kr in 2014 to 1 150 kr in 2026. A log-linear trend line, solid through 2026 and dashed for the projection, follows the observed data closely and extends to around 2 500 kr by 2050. A widening confidence band shows increasing uncertainty further into the projection. Source: UNT, UL.
093
Georgios Karamanis @karaman.is · 27/04/2026
#day27 of #30DayChartChallenge, Animation If you squint hard enough, you can see it moving code: github.com/gkaramanis/3... #RStats #dataviz
A bubble-line chart titled "The great Uppsala car swap" showing the share of new car registrations in Uppsala municipality by fuel type from 2013 to 2024. Three fuel categories are shown as lines with bubbles sized proportionally to annual registration volumes. Petrol and diesel vehicles (grey) dominated in 2013 at 96% of new registrations and declined steeply to 27% by 2024. Electric vehicles and plug-in hybrids (yellow) rose from under 1% in 2013 to a peak of 57% in 2023, settling at 53% in 2024. Hybrid vehicles (blue) grew modestly from 2% to 17% over the same period. Source: SCB.
082
Georgios Karamanis @karaman.is · 26/04/2026
#day26 of #30DayChartChallenge, Trend code: github.com/gkaramanis/3... #RStats #dataviz
A line chart titled "Uppsala bus ticket prices" showing adult single-trip fares in Uppsala from 2010 to 2026 by payment type. Three lines are shown: the on-board fare (blue) starts at 30 kr in 2013 and rises to 42 kr by 2021–2023; the advance ticket fare (yellow) starts at 20 kr in 2010 and rises to 33 kr by 2021–2023; and the stored value fare (grey dotted line), covering värdekort and reskassa cards, starts at 16 kr in 2010 and reaches 26 kr in 2020 before being discontinued. From January 2024, a flat-fare 75-minute ticket replaced the previous structure, bringing all payment types to 39 kr in 2024–2025 and 40 kr in 2026. Source: UL, web.archive.org.
091
Georgios Karamanis @karaman.is · 25/04/2026
#day25 of #30DayChartChallenge, Space code: github.com/gkaramanis/3... #RStats #dataviz
A half-eye plot titled "Parking spaces in Uppsala" with subtitle "Estimated mean and uncertainty, top 10 streets." Ten Uppsala streets are listed on the vertical axis, each paired with a saffron-coloured bell-shaped distribution showing the estimated mean number of parking spaces per street segment and the uncertainty around that estimate. Small grey tick marks below each distribution show individual observed segment counts. The horizontal axis is labelled "Number of parking spaces per street segment" and extends to 40. Råbyvägen, at the top, has the highest estimated mean at around 14 spaces per segment. Torgny Segerstedts allé, at the bottom, has the lowest estimated mean at around 1.2 spaces per segment. Source: Uppsala municipality.
1112
Georgios Karamanis @karaman.is · 24/04/2026
This week's #TidyTuesday I looked at how European countries changed their preventive care spending during COVID. The 2021 spike is visible across the continent, but each region has its own patterns. Code: github.com/gkaramanis/t... #RStats #dataviz
A 2x2 grid of small multiple line charts titled "Europe's regions' response to COVID through preventive care spending" on a light grey background. Each quadrant covers one of the four European regions: Northern, Eastern, Western, and Southern Europe. Each region panel contains small charts for individual countries showing the year-on-year percentage point change in preventive care's share of current health expenditure, 2017 to 2023. Lines are coloured by region: blue for Northern Europe, terracotta for Eastern Europe, green for Western Europe, and ochre for Southern Europe, with other countries shown as muted grey lines. A sharp spike is visible in 2021 across most countries. Northern European countries such as Denmark, Estonia, and the United Kingdom show clear synchronised spikes and recoveries. In Eastern Europe, Czechia and Hungary spike sharply while Poland and Belarus barely move. Western Europe shows the largest spikes, led by Austria and the Netherlands. Southern Europe shows smaller and more varied responses, with Montenegro peaking in 2020 and Greece continuing to rise through 2022. The y-axis ranges from -5 to 7.5 percentage points. Caption reads "Source: WHO Global Health Expenditure Database (GHED) · Graphic: Georgios Karamanis."
082
Georgios Karamanis @karaman.is · 23/04/2026
#day23 of #30DayChartChallenge, Seasons code: github.com/gkaramanis/3... #RStats #dataviz
A radial heatmap titled "Uppsala city bus punctuality" showing the percentage of city buses arriving on time each month across three years. Three concentric rings represent 2023 (inner), 2024 (middle), and 2025 (outer), each divided into 12 monthly segments. Segments are colored on a scale from amber (lower punctuality, 86–89%) to indigo (higher punctuality, 95–98%). Season labels, Winter, Spring, Summer, and Autumn, appear around the outside of the chart with bracket guides. July consistently shows high punctuality across all years, with July 2025 reaching 97.6%. December 2023 has the lowest punctuality in the dataset at 87.96%. Winter months show the most variation across years, while summer months cluster toward the high end. Source: UL.
1141
Georgios Karamanis @karaman.is · 22/04/2026
#day22 of #30DayChartChallenge, New Tool testing a dice plot for the first time, using {ggdiceplot} code: github.com/gkaramanis/3... #RStats #dataviz
A dice plot titled "Uppsala's new cars by season" showing a 4×4 grid of die faces. Rows represent four fuel types: Petrol/Diesel, Hybrid, Plug-in Hybrid, and Battery Electric. Columns represent the years 2015, 2018, 2021, and 2024. Each die face contains four pips positioned at the corners: green for spring (top left), orange for summer (top right), brown for autumn (bottom left), and blue for winter (bottom right). Pip size reflects each combination's share of all new car registrations in Uppsala that year. Petrol/Diesel dominates 2015 and 2018 with large pips across all seasons, then shrinks noticeably by 2021 and 2024. Battery Electric pips are barely visible in 2015 but grow substantially by 2024, with autumn the strongest season. Plug-in Hybrid pips grow from 2015 to 2021 then shrink in 2024. Hybrid remains relatively small throughout. Made with ggdiceplot. Source: SCB Statistikdatabasen.
2101
Georgios Karamanis @karaman.is · 21/04/2026
#day21 of #30DayChartChallenge, Historical code: github.com/gkaramanis/3... #RStats #dataviz
A line chart titled "Uppsala keeps cycling" with subtitle "Total cycling network length". Two lines show the total length of the cycling network from 2015 to 2024: the Municipality line in saffron and the Urban area line in indigo. The municipality network grew from 513 km in 2015 to 569 km in 2024, a gain of 56 km annotated in bold saffron text. The urban area network grew from 432 km to 468 km, a gain of 36 km annotated in indigo. Both lines rise steadily with no major dips. Source: Uppsala Miljöbarometern.
071
Georgios Karamanis @karaman.is · 20/04/2026
#day20 of #30DayChartChallenge, Global change code: github.com/gkaramanis/3... #RStats #dataviz
A line chart titled "Going electric" with subtitle "EV and plug-in hybrid share of new cars". Four lines trace the share of new car sales that are electric or plug-in hybrid from 2010 onwards. Uppsala (saffron) and Sweden (indigo) rise steeply together, reaching 59.6% by 2025 and 58.0% by 2024 respectively. World (light grey) and EU (dark grey) also grow but reach only 22.0% and 21.0% by 2024. All four lines show low shares until around 2018, then accelerate sharply. Source: SCB (Uppsala, 2010–2025) and Our World in Data (2010–2024).
0181
Georgios Karamanis @karaman.is · 19/04/2026
#day19 of #30DayChartChallenge, Evolution code: github.com/gkaramanis/3... #RStats #dataviz
A stacked area chart titled "Electric revolution in Uppsala" with subtitle "60% of new cars were rechargeable in 2025". The chart shows annual new passenger car registrations in Uppsala municipality from 2013 to 2025, split into four fuel groups stacked from bottom to top: Electric (BEV) in saffron, Plug-in hybrid in indigo, Hybrid (non-plug-in) in grey, and Petrol, diesel & other in light grey. Total registrations peaked at over 6000 around 2016 before declining to around 4000 by 2025. Electric and plug-in hybrid vehicles were nearly absent in 2013 but grew steadily from around 2019, together making up 60% of new registrations in 2025. Source: SCB, new car registrations in Uppsala municipality.
0131
Georgios Karamanis @karaman.is · 18/04/2026
This week's #TidyTuesday dataset comes from the at-sea seabird records held by Te Papa Tongarewa, built largely from the handwritten logbooks of Captain J. Jenkins, who recorded 6583 bird sightings on Southern Ocean voyages from 1969 to 1988. Code: github.com/gkaramanis/t... #RStats #dataviz
A grid of 26 small maps on a white background titled "The captain's logbook." The top-left area contains the subtitle and source caption. The remaining panels show seabird observation locations in the Southern Ocean for 25 individual ship observers, ordered by total observations. J. Jenkins dominates with 6583 observations (1969–1988), his panel filled densely with blue dots scattered across Antarctic and subantarctic waters. N. Cheshire has 1462 observations (1975–1983). Subsequent rows show progressively fewer observations, down to observers with only 1–4 sightings in the final row. Each map covers approximately 65–180°E longitude and 20–75°S latitude, with a muted blue ocean and soft tan land masses. Observer name, total observations, and year range are shown above each panel. Caption reads "Source: Museum of New Zealand Te Papa Tongarewa · Graphic: Georgios Karamanis."
0224
Georgios Karamanis @karaman.is · 17/04/2026
#day17 of #30DayChartChallenge, Remake A better version of day 13: bsky.app/profile/kara... code: github.com/gkaramanis/3... #RStats #dataviz
A line chart titled "Kids go their own way" showing the share of school journeys by transport mode across grades F-class to Year 6 in Uppsala municipality, 2021. Four lines track car, public transit, cycling, and walking. Car starts at 36% in F-class and falls steadily to 11% by Year 6. Public transit starts at 7% and rises to 27% by Year 6, dipping to 15% at Year 5 before jumping. Cycling remains relatively stable between 27% and 33%. Walking rises from 26% to a peak of 40% at Year 5 before dropping to 30% at Year 6. The lines for car and transit cross in the middle grades, making the shift from car dependency towards independent travel clear. Source: Uppsala kommun, guardian survey.
1121
Georgios Karamanis @karaman.is · 16/04/2026
#day16 of #30DayChartChallenge, Causation code: github.com/gkaramanis/3... #RStats #dataviz
A line chart titled "Bonus-malus effect?" showing new EV and plug-in hybrid car registrations per 10,000 residents in Uppsala municipality from 2010 to 2024. The line hovers near zero until around 2013, then climbs slowly before accelerating sharply from 2018, when Sweden's bonus-malus policy introduced rebates for EVs and taxes on high-emission cars, highlighted by a blue-grey shaded band. Registrations peak at roughly 110 per 10,000 residents in 2022–2023, then fall back to around 80 in 2024 after the bonus was removed, leaving only the malus tax on high-emission cars, marked by a pale amber band. Source: SCB.
061
Georgios Karamanis @karaman.is · 15/04/2026
#day15 of #30DayChartChallenge, Correlation code: github.com/gkaramanis/3... #RStats #dataviz
A scatter plot titled "A seasonal pattern" showing the relationship between average monthly temperature and Uppsala city bus ridership for 2024 and 2025. The x-axis runs from about −5°C to 20°C and the y-axis from roughly 1.2 million to 2.8 million monthly trips. A grey regression line slopes downward from upper left to lower right, indicating a negative correlation. Points are labeled with three-letter month abbreviations and colored by year: indigo for 2024 and amber for 2025. Cold winter months such as January and February cluster in the upper left with the highest ridership, while warm summer months, particularly July, which sits at around 20°C and below 1.5 million trips, fall at the lower right. The two years follow a very similar pattern. Source: UL Statistik and SMHI Open Data.
0113
Georgios Karamanis @karaman.is · 14/04/2026
#day14 of #30DayChartChallenge, Trade code: github.com/gkaramanis/3... #RStats #dataviz
A circle packing chart titled "Goods on the move" showing road freight loaded in Uppsala County by goods type in 2024, measured in thousand tonnes. Circles are color-coded by three categories shown in a top legend: amber for Logistics and mixed, indigo for Manufactured, and near-black for Raw and natural. The largest circle by far is Mining and quarrying at 3,215 thousand tonnes, in near-black. The next largest are Food and beverages at 1,329 (indigo), Removals and miscellaneous at 1,310 (amber), and Agriculture and fish at 1,233 (near-black). Further mid-sized circles include Wood, paper and print at 644, Transport support at 640, Non-metallic minerals at 547, Machinery and electronics at 492, and Mail and parcels at 490. Smaller circles for Coke and petroleum, Secondary raw materials, and a few others are also visible. Source: Eurostat, road_go_na_rl3g.
082
Georgios Karamanis @karaman.is · 13/04/2026
#day13 of #30DayChartChallenge, Ecosystems (a stretch) code: github.com/gkaramanis/3... #RStats #dataviz
A bubble chart titled "Kids go their own way" with the subtitle "Share of journeys by mode and grade in Uppsala, 2021." The chart shows four transport modes, car, public transit, cycling, and walk, as columns, with school grades F-class through Year 6 as rows. Each cell contains a circle whose size and labelled percentage represent the share of journeys for that mode and grade. Car use (indigo circles) falls steadily from 36% in F-class to 11% by Year 6. Public transit use (amber circles) rises from 7% to 27% over the same range. Cycling (near-black circles) stays relatively stable between 27% and 33%. Walking (grey circles) peaks at 40% in Year 5 and drops to 30% in Year 6. The data come from a guardian survey of over 7,400 households. Source: Uppsala kommun, guardian survey.
071
Georgios Karamanis @karaman.is · 12/04/2026
#day12 of #30DayChartChallenge, FlowingData code: github.com/gkaramanis/3... #RStats #dataviz
A small-multiple slope chart titled "Riding Uppsala" with the subtitle "Bus journeys declined in 2025." The chart contains twelve facets, one per calendar month, each showing an arrow from 2024 to 2025 representing the number of city bus trips made on UL (Upplands Lokaltrafik) in Uppsala. Amber arrows indicate months where ridership fell; indigo arrows indicate months where it rose. Ten of the twelve months saw declines: January dropped from 2.7 million to 2.5 million trips, February from 2.7 million to 2.4 million, and April had the steepest fall, from 2.7 million to 2.1 million. Only March and May showed marginal increases. Summer months have the lowest ridership overall, with July falling from 1.5 million to 1.3 million. Source: UL.
0101
Georgios Karamanis @karaman.is · 11/04/2026
This week's #TidyTuesday dataset comes from RepairMonitor, which has been logging repairs at volunteer-run Repair Cafés worldwide since 2015. Are older things harder to fix? Depends on the category. Code: github.com/gkaramanis/t... #RStats #dataviz
A grid of nine small charts on a warm off-white background titled "Are older things harder to fix?" Each panel shows smoothed repairability scores on the y-axis against item age at the time of repair on the x-axis, with the scale reversed so older items (up to 100 years) are on the left and newer items on the right. Lines are colored amber for electric and green for non-electric items. Panels are faceted by category: Bicycles, Clocks and alarm clocks, Computer equipment and phones, Display and sound equipment, Household appliances, Jewelry, Textile, Tools, and Toys. In household appliances, tools, and toys, the amber and green lines cross over across the age range. Clocks, textiles, and display and sound equipment show lower repairability scores among older items. Bicycles, computers and phones, and jewelry show little variation across the age range. Caption reads "Source: RepairMonitor · Graphic: Georgios Karamanis."
090
Georgios Karamanis @karaman.is · 09/04/2026
#day9 of #30DayChartChallenge, Wealth code: github.com/gkaramanis/3... #RStats #dataviz
A scatter plot titled "Wheels & wealth in Uppsala..." with the subtitle "...mostly correlate, except for one district." The x-axis shows median net income in thousand kronor and the y-axis shows cars in use per capita. Each point represents one of Uppsala's residential districts, sized by population and coloured in indigo blue. The overall trend is positive, higher-income districts tend to have more cars per capita. Four groups are highlighted with amber hulls: "Student areas" (Studentstaden and Västra Flogsta) sit at low income and low car ownership; "6 peripheral areas" (Stadens omland) cluster in the mid-to-high income and mid-to-high ownership range; "Highest income" (Gamla Gottsunda-Vårdsätra-Vreta) is at the far right with high income but moderate ownership; and "Kåbo-Norra Rosendal" is the clear outlier with middle income but by far the highest cars per capita at around 0.85, well above the trend. Source: Statistics Sweden, cars 2025, income 2024.
0121
Georgios Karamanis @karaman.is · 08/04/2026
#day8 of #30DayChartChallenge, Circular code: github.com/gkaramanis/3... #RStats #dataviz
A radial bar chart titled "Uppsala's bus clock" with the subtitle "Departures per hour, weekday vs weekend." Hours of the day (0:00 to 23:00) are arranged clockwise around a circle. For each hour, two bars extend outward: orange for weekday and blue for weekend departures. Weekday bars are substantially longer, peaking at 7:00 with 3,145 average departures, with a second peak at 15:00 (3,120). The overnight trough bottoms out at 2:00 with 56 departures. Weekend bars are much shorter and more evenly distributed, peaking mid-morning around 10:00–11:00 with around 680 departures and dropping to 56 at 4:00. Source: UL GTFS data, 4–30 April 2026.
1282
Georgios Karamanis @karaman.is · 07/04/2026
#day7 of #30DayChartChallenge, Multiscale code: github.com/gkaramanis/3... #RStats #dataviz
A two-panel chart titled "Uppsala emissions down" with the subtitle "Change in total and breakdown by sector." The upper panel is a line chart showing the percentage change in Uppsala's total greenhouse gas emissions relative to 1990, from 1990 to around 2023. Emissions rose slightly through the 2000s before falling sharply, reaching −44% by 2023. The lower panel is a stacked area chart showing absolute emissions in kilotons by sector over the same period. At its peak around 2010, total emissions were close to 1100 kt and almost halved by 2023 to 550 kt. Electricity and heat (orange) is the largest sector and has declined the most; Transport (indigo), Agriculture (grey), and Other (light grey) make up the rest. Source: Nationella emissionsdatabasen, SMHI.
0122
Georgios Karamanis @karaman.is · 05/04/2026
#day5 of #30DayChartChallenge, Experimental code: github.com/gkaramanis/3... #RStats #dataviz
An experimental chart titled "Cold months fill the buses" with the subtitle "Bus ridership vs. temperature in Uppsala." Twelve center-aligned bars, one per month, are stacked vertically and arranged so the year wraps from June at the top through January in the middle to July at the bottom. Because the bars extend symmetrically from a central axis rather than from a baseline, the chart forms a leaf-like silhouette. Bar length encodes monthly bus ridership and bar color encodes average temperature: orange for warm months and indigo-blue for cold ones. Winter months such as January are longer, showing that Uppsala residents ride the bus more when it is cold. Source: UL and SMHI, 2024–2025 averages
2161