File:Energy density.svg

Any autoconfirmed user can overwrite this file from the same source. Please ensure that overwrites comply with the guideline. Category:Files allowed to be overwritten by everyone

Summary

Description
English: A plot of selected energy densities (excluding oxidizers).
Date
Source

Own work

Data Source: Energy density, Lithium-ion battery
Author Scott Dial
Other versions

Derivative works of this file:  Energy density-fr.svg

Category:Files with derivative versions

Derivative works of this file:  Energy density-gl.svg

Category:Files with derivative versions Derivative works of this file:  Energy Density.PNGCategory:Files with derivative versions
SVG development
InfoField
Source code
InfoField

Python code

#!/usr/bin/env python3
# -*- encoding: utf-8 -*-
import matplotlib
matplotlib.use('agg')

from matplotlib.font_manager import FontProperties
import pylab
import sys

# (name, MJ/kg, MJ/L, [label-adjustments])
data = (
    ('Aluminum', 31.0, 83.8),
    ('Anthracite', 32.5, 72.4, {'valign': 'top'}),
    ('Bituminous', 24, 20, {'valign': 'center', 'x': 6.5}),
    ('Butanol', 36.6, 29.2, {'valign': 'center', 'x': 5}),
    ('Diesel', 46.2, 37.3, {'valign': 'center', 'x': 4}),
    ('Ethanol', 30, 24, {'valign': 'center', 'x': 5}),
    ('Fat Metabolism', 38, 35, {'x': -0.5}),
    ('Gasoline', 46.4, 34.2, {'valign': 'center', 'x': 5}),
    ('Gasohol E85', 33.1, 25.65, {'valign': 'center', 'x': 7.5}),
    ('Glucose', 15.55, 23.9, {'valign': 'center', 'x': 5}),
    ('Hydrazine', 19.5, 19.3, {'valign': 'center', 'x': -6.5}),
    ('Hydrogen Gas', 143, 0.01079),
    ('Hydrogen Gas (700 bar)', 143, 5.6),
    ('Iron', 5.2, 40.68), # (burned to Fe2O3)
    ('Kerosene', 42.8, 33, {'valign': 'top'}),
    ('Liquid Ammonia', 18.6, 11.5, {'valign': 'center', 'x': 9.5}),
    ('Liquid Hydrogen', 143, 10.1),
    ('Liquid Natural Gas', 53.6, 22.2, {'valign': 'center', 'x': 10.5}),
    ('Lithium', 43.1, 23.0, {'valign': 'top'}),
    ('Lithium Borohydride', 65.2, 43.4),
    ('LPG Propane', 49.6, 25.3, {'valign': 'center', 'x': 8}),
    ('LPG Butane', 49.1, 27.7, {'valign': 'center', 'x': 7}),
    ('Magnesium', 24.7, 43.0),
    ('Methanol', 19.7, 15.6, {'valign': 'center', 'x': 6}),
    ('Natural Gas', 53.6, 0.0364),
    ('Natural Gas (250 bar)', 53.6, 9),
    ('Polyester', 26.0, 35.6, {'valign': 'top'}),
    ('Polyethylene', 46.3, 42.6, {'valign': 'center', 'x': 7.5}),
    ('Polystyrene', 41.4, 43.5),
    ('Silicon', 32.6, 75.9),
    ('Sodium', 13.3, 12.8), #  (burned to wet NaOH)
    ('Sugar Metabolism', 17, 26.2),
    ('Zinc', 5.3, 38.0, {'valign': 'top'}),
    ('Zinc–Air Battery', 1.59, 6.02, {'valign': 'center', 'x': 9.25}),

    # Highest energy density available from commercial 18650 cells as of February 2026
    # Sources: Far East Battery 18650-4000
    # * Specific energy: 300 Wh/kg, listed in the first party datasheet: https://en.febbattery.com/Uploads/keditor/file/20231123/20231123131924_57703.pdf
    # * Energy density: 842 Wh/L, calculated from a third party test: https://news.qq.com/rain/a/20231025A05JQ400
    #     * Calculation: 14.26/(((1.82/2)^2*3.14159*6.51)/1000) = 841.989 Wh/L
    ('Lithium-Ion Battery', 1.080, 3.031, {'valign': 'center', 'x': 11}),
)

font12 = FontProperties(family=['sans-serif'], size=12)
font10 = FontProperties(family=['sans-serif'], size=10)
font8 = FontProperties(family=['sans-serif'], size=8)

pylab.rcParams.update({'figure.figsize': [12, 7.5]})

fig=pylab.figure(1)
ax=pylab.axes([0.05, 0.05, 0.95 - 0.05, 0.95 - 0.05])
ax.set_axisbelow(True)

for v in data:
    # (name, MJ/kg, MJ/L, label-adjustments)
    label = v[0]
    x = v[1]
    y = v[2]

    if len(v) < 4:
        halign = 'center'
        valign = 'bottom'
        x_text = x
        y_text = y + 0.9
    else:
        halign = v[3].get('halign', 'center')
        valign = v[3].get('valign', 'bottom')
        x_text = x + v[3].get('x', 0)
        y_text = y + v[3].get('y', 0)
        if valign == 'bottom':
            y_text += 0.9
        elif valign == 'top':
            y_text -= 0.9

    pylab.scatter(x=[x], y=[y], c='b', edgecolors='black')
    pylab.text(x=x_text, y=y_text, s=label,
               horizontalalignment=halign,
               verticalalignment=valign,
               fontproperties=font10)

pylab.title('Selected Energy Densities',
            fontproperties=font12)

pylab.ylabel('MJ/L', fontproperties=font10)
pylab.xlabel('MJ/kg', fontproperties=font10)

pylab.xticks(fontproperties=font8)
pylab.yticks(fontproperties=font8)

ax.grid(linestyle='dashed')
ax.tick_params(axis="y", direction="in")
ax.tick_params(axis="x", direction="in")
ax.xaxis.grid(True)
ax.yaxis.grid(True)

pylab.xlim(0, 160)
pylab.ylim(0, 90)

pylab.savefig('energy_density.svg', transparent=True)

Licensing

Public domain I, the copyright holder of this work, release this work into the public domain. This applies worldwide.
In some countries this may not be legally possible; if so:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.
Category:Self-published work#Energy%20density.svgCategory:PD-self#Energy%20density.svg Category:Electrical diagrams Category:Energy density
Category:Electrical diagrams Category:Energy density Category:Files allowed to be overwritten by everyone Category:Files with derivative versions Category:PD-self Category:Self-published work Category:Valid SVG created with Matplotlib code