€1,600 Each second. That’s the curiosity Germany should pay on its debt. In complete, German states have trillions of debt. This quantities to over 100 billion euros. And the federal government is planning to make extra. It’s rumored that as much as 1 trillion extra debt will proceed over the following 10 years.
The quantity concerned in authorities funds is so massive that it isn’t doable to realistically assess how a lot the quantity might be 1 billion euros or {dollars}.
This text reveals that conventional lists and charts can’t convey a way of how a lot cash is spent on authorities spending. Then I present you the way to do this Just a little programming permits you to interactively visualize this cash and the way it pertains to different numbers. Presently, Germany is receiving numerous media protection and its debt statistics are freely accessible, so we use Germany.
A easy listing
To get began, use an apparent enumeration of essential information as the primary option to (not) the knowledge into relations. Family debt is excluded. As we’ll see later, this easy technique fails fully in comparison with the visualization instruments offered via easy scripts.
- €1,600: Curiosity per second
- €25,503: Debt per German citizen when state debt is break up
And that is already an enormous leap for us. We dive immediately into billions:
- €49,5 Billion: Annual Curiosity Price
- 100 billion euros: German navy Sondervermögen (e-music illustration of debt)
- 500 billion euros: plan Further infrastructure liabilities
Now we’re doing one other leap:
- €2,11 The signal: Whole authorities debt in Germany (as of March 2025)
After studying these numbers, it’s possible you’ll know a bit extra about German debt. However we now have little understanding of how they relate to one another. Sure, I do know that 1 billion euros is 1,000 occasions 1 million euros. However that is simply frequent sense.
In case you can see the numbers visualized aspect by aspect, it can most likely do higher. That is what we do subsequent.
Linearly scaled charts
Utilizing Python and the Matplotlib plot library, it is easy to create a easy chart. (The total code is linked to the Sources part of this text on the finish).
I selected 4 numbers to visualise collectively: €1,600 (as most individuals realize it) How a lot is it already?), 25,503 euros (as a result of it reveals the hidden money owed that the Germans have), 1 billion euros (as a result of it is so enormous that it does not even make it a yr), and at last 49.5 billion euros (as a result of Germany must be within the present yr, That is virtually greater than Nation GDP).
import matplotlib.pyplot as plt
# Information
quantities = [1600, 25503, 1e9, 49.5e9, ]
labels = ['Per-sec. interest', 'Per-person debt','€1 billion', 'Yearly interest']
plt.determine(figsize=(10, 6))
plt.bar(labels, quantities, shade=['orange', 'orange', '#03A9F4', '#ff0000'])
After operating this code, you get the next plot:
What we see in a flash: I can not see a small sum of money. The large quantity will completely warn 1,600 euros. Anybody studying this bets to say they’re connecting to only 1,000 euros than 1 million euros for instance. We all know what 1,000 euros can afford. 1,000 euros is an efficient month-to-month wage for most individuals.
However the chart does not acknowledge it.
Is there any mistake I used a linearly scaled axis? Let’s check out the following one.
Logarithmally scaled charts
Keep on with Python and Matplotlib when visualizing information logarithmically. It’s essential to add a single code to get the up to date chart immediately.

Is that higher? To some extent, sure! Now you possibly can see the distinction between your day by day quantity (e.g. curiosity 1,600 euros per second) and deliberate expenditures (i.e. debt).
Due to logarithmic scaling, they seem on the identical chart. On this visualization, the chart grows logarithmally, not linearly. Which means that the spacing between the 2 markers on the y-axis doesn’t symbolize a set equal increment (earlier than the linearly scaled plot). As an alternative, every step represents a multiplication as a consequence of a sure issue. In our plot, the interval is decided by multiplying 100 (or including two subsequent zeros).
Our goal: Is logarithmic scaling like this higher than linear scaling? Sure, positively.
However is that sufficient? In case you’re planning an extra 500 billion euro debt, cannot you do higher to try to inform us what Germany is doing? And the way does this obligation relate to current obligations already current?
Sure, in fact you possibly can. Create easy, interactive net pages shortly with a little bit of HTML, JavaScript, and a few CSS styling. For inexperienced persons, it is easy to do on weekends.
Solely static webpages are required!
Information scientists and programmers compete with DAY DAY-in and Day-Out. Instruments like Excel and Python scripts may also help you remodel your information and acquire insights.
Nonetheless, there are occasions when a easy net web page can higher talk the relationships between numbers. Particularly once we’re speaking in regards to the massive quantities concerned in authorities debt.
Begin visualization in HTMLBy stacking a number of div-elements on high of one another:
...
<div class="debt-wrapper">
<h2 class="debt-title">€25,503 (Debt per German citizen <em>if complete governmental debt is break up </em>)</h2>
<div class="debt one-thousand" data-height="25503"></div>
</div>
<div class="debt-wrapper">
<h2 class="debt-title">€1 billion</h2>
<div class="debt billion" data-height="1000000000"></div>
</div>
<div class="debt-wrapper" id="interest-year">
<div class="debt-header">
<h2 class="debt-title">€49,5 billion (German curiosity per yr)</h2>
</div>
<div class="debt ruler" data-height="49500000000"></div>
</div>
...
For every part, the quantity of € for the HTML attribute is proven.
Subsequent, use JavaScript Converts portions into visualizations which are simple to know.
For this, we outline it Every pixel represents 1,000 euros. Subsequently, through the use of an oblong form, you possibly can symbolize any quantity.
doc.addEventListener("DOMContentLoaded", perform() {
const wealthBars = doc.querySelectorAll(".debt");
wealthBars.forEach(bar => {
if (!bar.dataset.scaled) {
const quantity = parseInt(bar.dataset.peak) / 1000;
const width = Math.min(Math.sqrt(quantity), 200); // Cap the width pixels
const peak = quantity / width;
bar.fashion.width = width + "px";
bar.fashion.peak = peak + "px";
bar.dataset.scaled = "true";
Lastly, I am going to add some CSS styling to make the rendered net web page look good.
.debt-wrapper {
show: flex;
flex-direction: column;
align-items: heart;
margin: 20px 0;
}
.debt-title {
font-size: 20px;
margin-bottom: 10px;
}
/* Debt Bars */
.debt {
place: relative;
transition: peak 0.3s ease-out, width 0.3s ease-out;
background-color: #ffcc00;
max-width: 200px; /* Most width for bars */
}
Placing all this collectively (discover the entire supply code within the assets part beneath), then get: (I added a key quantity that I assumed was associated to proportioning German debt):

Now it is easy to know visualization! You’ll be able to discover your self right here: https://phrasenmaeher.github.io.
This straightforward webpage is extra precisely representing the huge quantity of contemporary debt that Germany needs to create. Utilizing fundamental programming expertise, we present how debt is said to on a regular basis quantities (e.g. 1,600 euros) and current debt-related prices (e.g. 49.5 billion euros per yr). Simply begin scrolling down and you will get a way of how a lot cash it’s. Within the above GIF, I did not even scroll via 1% of the entire (wanting on the scrollbar on the proper, it hardly strikes).
Do not forget that one pixel equals 1,000 euros. Even if you happen to make 10,000 euros per thirty days, it is solely 10 pixels and barely noticeable within the debt bar. Scrolling down just one pixel, I found a brand new debt of 200,000 euros (default bar width is 200). Even if you happen to create 1 million euros (annual), it is only a scroll of 5 pixels. The visualization reveals: It is actually a decline within the debt sea.
If you’re German, I do not really feel any vy hope. Not significantly for future generations. Somebody has to pay this again. Along with current debt.

