File:Energy density.svg

From KYNNpedia

Original file(SVG file, nominally 1,080 × 675 pixels, file size: 64 KB)

This file is from Wikimedia Commons and may be used by other projects. The description on its file description page there is shown below.

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

Image:Energy_Density.PNG
SVG development
InfoField
 
The SVG code is valid.
 
This plot was created with Matplotlib.
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}),

    # 0.54-0.72, 0.9-1.9 (values used are from the Li-Ion battery article)
    ('Lithium-Ion Battery', 0.576, 0.972, {'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.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

22 December 2008

image/svg+xml

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current12:58, 23 January 2023Thumbnail for version as of 12:58, 23 January 20231,080 × 675 (64 KB)wikimediacommons>Scott DialRestore background transparency

The following page uses this file:

Metadata