Skip to content
Weave templates

Food web — a temperate lake through five trophic levels

A eutrophic lowland lake drawn as a web rather than a chain: phytoplankton and littoral macrophytes at 300 g C m⁻² yr⁻¹, three routes up through Daphnia, chironomids and zebra mussels, roach and perch feeding at more than one level, pike and heron on top, and the detrital loop that returns the nutrients.

Template previewWeave
Rendering…

Make it your own.

{
  "nodes": [
    { "id": "sunlight", "type": "sun", "label": "Sunlight — the only external energy input", "x": 40, "y": 40, "width": 150, "height": 104, "fill": "#ede9fe", "stroke": "#6d28d9", "bold": true },
    { "id": "phytoplankton", "type": "leaf", "label": "Phytoplankton — 300 g C m⁻² yr⁻¹", "x": 215, "y": 40, "width": 150, "height": 104, "fill": "#dcfce7", "stroke": "#15803d", "bold": true },
    { "id": "daphnia", "type": "bug", "label": "Daphnia and copepods graze the algae", "x": 390, "y": 40, "width": 150, "height": 104, "fill": "#dcfce7", "stroke": "#15803d", "bold": true },
    { "id": "roach", "type": "ocean-wave", "label": "Roach and bleak — planktivorous fish", "x": 565, "y": 40, "width": 150, "height": 104, "fill": "#dcfce7", "stroke": "#15803d", "bold": true },
    { "id": "perch", "type": "ocean-wave", "label": "Perch — takes invertebrates and fry", "x": 740, "y": 40, "width": 150, "height": 104, "fill": "#dcfce7", "stroke": "#15803d", "bold": true },
    { "id": "pike", "type": "ocean-wave", "label": "Pike — top predator, trophic level 4.5", "x": 915, "y": 40, "width": 150, "height": 104, "fill": "#dcfce7", "stroke": "#15803d", "bold": true },
    { "id": "nutrients", "type": "water-drop", "label": "Nitrate and phosphate from the catchment", "x": 40, "y": 200, "width": 150, "height": 104, "fill": "#ede9fe", "stroke": "#6d28d9", "bold": true },
    { "id": "macrophytes", "type": "flower", "label": "Macrophytes in the littoral shallows", "x": 215, "y": 200, "width": 150, "height": 104, "fill": "#dcfce7", "stroke": "#15803d", "bold": true },
    { "id": "chironomids", "type": "bug", "label": "Chironomid larvae in the sediment", "x": 390, "y": 200, "width": 150, "height": 104, "fill": "#dcfce7", "stroke": "#15803d" },
    { "id": "mussels", "type": "hemisphere", "label": "Zebra mussels filter a litre a day each", "x": 565, "y": 200, "width": 150, "height": 104, "fill": "#dcfce7", "stroke": "#15803d", "bold": true },
    { "id": "heron", "type": "triangle", "label": "Heron and osprey take fish from above", "x": 740, "y": 200, "width": 150, "height": 104, "fill": "#dcfce7", "stroke": "#15803d", "bold": true },
    { "id": "efficiency", "type": "bar-chart", "label": "About 10% of energy crosses each level", "x": 915, "y": 200, "width": 150, "height": 104, "fill": "#ccfbf1", "stroke": "#0f766e", "bold": true },
    { "id": "detritus", "type": "layers", "label": "Detritus — dead plankton and leaf litter", "x": 40, "y": 360, "width": 150, "height": 104, "fill": "#dbeafe", "stroke": "#1d4ed8", "bold": true },
    { "id": "bacteria", "type": "petri-dish", "label": "Bacteria and fungi mineralise it", "x": 215, "y": 360, "width": 150, "height": 104, "fill": "#fef3c7", "stroke": "#b45309", "bold": true },
    { "id": "recycling", "type": "conveyor", "label": "Nutrients returned to the water column", "x": 390, "y": 360, "width": 150, "height": 104, "fill": "#fef3c7", "stroke": "#b45309", "bold": true },
    { "id": "mercury", "type": "cross", "label": "Methylmercury biomagnifies a millionfold", "x": 565, "y": 360, "width": 150, "height": 104, "fill": "#fee2e2", "stroke": "#b91c1c", "bold": true },
    { "id": "eutrophication", "type": "ocean-wave", "label": "Nutrient loading → bloom → anoxia", "x": 740, "y": 360, "width": 150, "height": 104, "fill": "#fee2e2", "stroke": "#b91c1c", "bold": true },
    { "id": "pyramid", "type": "pyramid-3d", "label": "Biomass pyramid inverts in midsummer", "x": 915, "y": 360, "width": 150, "height": 104, "fill": "#ccfbf1", "stroke": "#0f766e", "bold": true }
  ],
  "edges": [
    { "id": "e1", "source": "sunlight", "target": "phytoplankton", "thickness": 2.5 },
    { "id": "e2", "source": "nutrients", "target": "phytoplankton", "thickness": 2.5 },
    { "id": "e3", "source": "sunlight", "target": "macrophytes" },
    { "id": "e4", "source": "phytoplankton", "target": "daphnia", "thickness": 2.5 },
    { "id": "e5", "source": "phytoplankton", "target": "mussels", "label": "filtered straight out of the water" },
    { "id": "e6", "source": "macrophytes", "target": "chironomids" },
    { "id": "e7", "source": "daphnia", "target": "roach", "thickness": 2.5 },
    { "id": "e8", "source": "chironomids", "target": "roach" },
    { "id": "e9", "source": "daphnia", "target": "perch", "label": "young perch feed on plankton too" },
    { "id": "e10", "source": "roach", "target": "perch", "thickness": 2.5 },
    { "id": "e11", "source": "perch", "target": "pike", "thickness": 2.5 },
    { "id": "e12", "source": "roach", "target": "pike", "label": "pike take whatever is abundant" },
    { "id": "e13", "source": "roach", "target": "heron", "thickness": 2.5 },
    { "id": "e14", "source": "phytoplankton", "target": "detritus", "label": "the bloom that is not grazed" },
    { "id": "e15", "source": "mussels", "target": "detritus", "label": "pseudofaeces" },
    { "id": "e16", "source": "pike", "target": "detritus", "label": "carcasses sink" },
    { "id": "e17", "source": "detritus", "target": "chironomids", "label": "deposit feeding" },
    { "id": "e18", "source": "detritus", "target": "bacteria", "thickness": 2.5 },
    { "id": "e19", "source": "bacteria", "target": "recycling", "thickness": 2.5 },
    { "id": "e20", "source": "recycling", "target": "nutrients", "label": "the loop closes", "thickness": 2.5 },
    { "id": "e21", "source": "mercury", "target": "pike", "label": "the top predator carries the load", "style": "dashed" },
    { "id": "e22", "source": "efficiency", "target": "perch", "label": "why there are so few pike", "style": "dashed" },
    { "id": "e23", "source": "eutrophication", "target": "phytoplankton", "style": "dashed" },
    { "id": "e24", "source": "pyramid", "target": "daphnia", "label": "grazers can outweigh the algae", "style": "dashed" }
  ]
}