mirror of
				https://github.com/mermaid-js/mermaid.git
				synced 2025-10-31 02:44:17 +01:00 
			
		
		
		
	 c12deca02a
			
		
	
	c12deca02a
	
	
	
		
			
			* master: Update flowchart.md (#4798) chore: Fix warning formatting docs: Disable showValues in sankey example
		
			
				
	
	
		
			304 lines
		
	
	
		
			8.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			304 lines
		
	
	
		
			8.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| > **Warning**
 | |
| >
 | |
| > ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
 | |
| >
 | |
| > ## Please edit the corresponding file in [/packages/mermaid/src/docs/syntax/sankey.md](../../packages/mermaid/src/docs/syntax/sankey.md).
 | |
| 
 | |
| # Sankey diagram (v10.3.0+)
 | |
| 
 | |
| > A sankey diagram is a visualization used to depict a flow from one set of values to another.
 | |
| 
 | |
| > **Warning**
 | |
| > This is an experimental diagram. Its syntax are very close to plain CSV, but it is to be extended in the nearest future.
 | |
| 
 | |
| The things being connected are called nodes and the connections are called links.
 | |
| 
 | |
| ## Example
 | |
| 
 | |
| This example taken from [observable](https://observablehq.com/@d3/sankey/2?collection=@d3/d3-sankey). It may be rendered a little bit differently, though, in terms of size and colors.
 | |
| 
 | |
| ```mermaid-example
 | |
| ---
 | |
| config:
 | |
|   sankey:
 | |
|     showValues: false
 | |
| ---
 | |
| sankey-beta
 | |
| 
 | |
| Agricultural 'waste',Bio-conversion,124.729
 | |
| Bio-conversion,Liquid,0.597
 | |
| Bio-conversion,Losses,26.862
 | |
| Bio-conversion,Solid,280.322
 | |
| Bio-conversion,Gas,81.144
 | |
| Biofuel imports,Liquid,35
 | |
| Biomass imports,Solid,35
 | |
| Coal imports,Coal,11.606
 | |
| Coal reserves,Coal,63.965
 | |
| Coal,Solid,75.571
 | |
| District heating,Industry,10.639
 | |
| District heating,Heating and cooling - commercial,22.505
 | |
| District heating,Heating and cooling - homes,46.184
 | |
| Electricity grid,Over generation / exports,104.453
 | |
| Electricity grid,Heating and cooling - homes,113.726
 | |
| Electricity grid,H2 conversion,27.14
 | |
| Electricity grid,Industry,342.165
 | |
| Electricity grid,Road transport,37.797
 | |
| Electricity grid,Agriculture,4.412
 | |
| Electricity grid,Heating and cooling - commercial,40.858
 | |
| Electricity grid,Losses,56.691
 | |
| Electricity grid,Rail transport,7.863
 | |
| Electricity grid,Lighting & appliances - commercial,90.008
 | |
| Electricity grid,Lighting & appliances - homes,93.494
 | |
| Gas imports,Ngas,40.719
 | |
| Gas reserves,Ngas,82.233
 | |
| Gas,Heating and cooling - commercial,0.129
 | |
| Gas,Losses,1.401
 | |
| Gas,Thermal generation,151.891
 | |
| Gas,Agriculture,2.096
 | |
| Gas,Industry,48.58
 | |
| Geothermal,Electricity grid,7.013
 | |
| H2 conversion,H2,20.897
 | |
| H2 conversion,Losses,6.242
 | |
| H2,Road transport,20.897
 | |
| Hydro,Electricity grid,6.995
 | |
| Liquid,Industry,121.066
 | |
| Liquid,International shipping,128.69
 | |
| Liquid,Road transport,135.835
 | |
| Liquid,Domestic aviation,14.458
 | |
| Liquid,International aviation,206.267
 | |
| Liquid,Agriculture,3.64
 | |
| Liquid,National navigation,33.218
 | |
| Liquid,Rail transport,4.413
 | |
| Marine algae,Bio-conversion,4.375
 | |
| Ngas,Gas,122.952
 | |
| Nuclear,Thermal generation,839.978
 | |
| Oil imports,Oil,504.287
 | |
| Oil reserves,Oil,107.703
 | |
| Oil,Liquid,611.99
 | |
| Other waste,Solid,56.587
 | |
| Other waste,Bio-conversion,77.81
 | |
| Pumped heat,Heating and cooling - homes,193.026
 | |
| Pumped heat,Heating and cooling - commercial,70.672
 | |
| Solar PV,Electricity grid,59.901
 | |
| Solar Thermal,Heating and cooling - homes,19.263
 | |
| Solar,Solar Thermal,19.263
 | |
| Solar,Solar PV,59.901
 | |
| Solid,Agriculture,0.882
 | |
| Solid,Thermal generation,400.12
 | |
| Solid,Industry,46.477
 | |
| Thermal generation,Electricity grid,525.531
 | |
| Thermal generation,Losses,787.129
 | |
| Thermal generation,District heating,79.329
 | |
| Tidal,Electricity grid,9.452
 | |
| UK land based bioenergy,Bio-conversion,182.01
 | |
| Wave,Electricity grid,19.013
 | |
| Wind,Electricity grid,289.366
 | |
| ```
 | |
| 
 | |
| ```mermaid
 | |
| ---
 | |
| config:
 | |
|   sankey:
 | |
|     showValues: false
 | |
| ---
 | |
| sankey-beta
 | |
| 
 | |
| Agricultural 'waste',Bio-conversion,124.729
 | |
| Bio-conversion,Liquid,0.597
 | |
| Bio-conversion,Losses,26.862
 | |
| Bio-conversion,Solid,280.322
 | |
| Bio-conversion,Gas,81.144
 | |
| Biofuel imports,Liquid,35
 | |
| Biomass imports,Solid,35
 | |
| Coal imports,Coal,11.606
 | |
| Coal reserves,Coal,63.965
 | |
| Coal,Solid,75.571
 | |
| District heating,Industry,10.639
 | |
| District heating,Heating and cooling - commercial,22.505
 | |
| District heating,Heating and cooling - homes,46.184
 | |
| Electricity grid,Over generation / exports,104.453
 | |
| Electricity grid,Heating and cooling - homes,113.726
 | |
| Electricity grid,H2 conversion,27.14
 | |
| Electricity grid,Industry,342.165
 | |
| Electricity grid,Road transport,37.797
 | |
| Electricity grid,Agriculture,4.412
 | |
| Electricity grid,Heating and cooling - commercial,40.858
 | |
| Electricity grid,Losses,56.691
 | |
| Electricity grid,Rail transport,7.863
 | |
| Electricity grid,Lighting & appliances - commercial,90.008
 | |
| Electricity grid,Lighting & appliances - homes,93.494
 | |
| Gas imports,Ngas,40.719
 | |
| Gas reserves,Ngas,82.233
 | |
| Gas,Heating and cooling - commercial,0.129
 | |
| Gas,Losses,1.401
 | |
| Gas,Thermal generation,151.891
 | |
| Gas,Agriculture,2.096
 | |
| Gas,Industry,48.58
 | |
| Geothermal,Electricity grid,7.013
 | |
| H2 conversion,H2,20.897
 | |
| H2 conversion,Losses,6.242
 | |
| H2,Road transport,20.897
 | |
| Hydro,Electricity grid,6.995
 | |
| Liquid,Industry,121.066
 | |
| Liquid,International shipping,128.69
 | |
| Liquid,Road transport,135.835
 | |
| Liquid,Domestic aviation,14.458
 | |
| Liquid,International aviation,206.267
 | |
| Liquid,Agriculture,3.64
 | |
| Liquid,National navigation,33.218
 | |
| Liquid,Rail transport,4.413
 | |
| Marine algae,Bio-conversion,4.375
 | |
| Ngas,Gas,122.952
 | |
| Nuclear,Thermal generation,839.978
 | |
| Oil imports,Oil,504.287
 | |
| Oil reserves,Oil,107.703
 | |
| Oil,Liquid,611.99
 | |
| Other waste,Solid,56.587
 | |
| Other waste,Bio-conversion,77.81
 | |
| Pumped heat,Heating and cooling - homes,193.026
 | |
| Pumped heat,Heating and cooling - commercial,70.672
 | |
| Solar PV,Electricity grid,59.901
 | |
| Solar Thermal,Heating and cooling - homes,19.263
 | |
| Solar,Solar Thermal,19.263
 | |
| Solar,Solar PV,59.901
 | |
| Solid,Agriculture,0.882
 | |
| Solid,Thermal generation,400.12
 | |
| Solid,Industry,46.477
 | |
| Thermal generation,Electricity grid,525.531
 | |
| Thermal generation,Losses,787.129
 | |
| Thermal generation,District heating,79.329
 | |
| Tidal,Electricity grid,9.452
 | |
| UK land based bioenergy,Bio-conversion,182.01
 | |
| Wave,Electricity grid,19.013
 | |
| Wind,Electricity grid,289.366
 | |
| ```
 | |
| 
 | |
| ## Syntax
 | |
| 
 | |
| The idea behind syntax is that a user types `sankey-beta` keyword first, then pastes raw CSV below and get the result.
 | |
| 
 | |
| It implements CSV standard as [described here](https://www.ietf.org/rfc/rfc4180.txt) with subtle **differences**:
 | |
| 
 | |
| - CSV must contain **3 columns only**
 | |
| - It is **allowed** to have **empty lines** without comma separators for visual purposes
 | |
| 
 | |
| ### Basic
 | |
| 
 | |
| It is implied that 3 columns inside CSV should represent `source`, `target` and `value` accordingly:
 | |
| 
 | |
| ```mermaid-example
 | |
| sankey-beta
 | |
| 
 | |
| %% source,target,value
 | |
| Electricity grid,Over generation / exports,104.453
 | |
| Electricity grid,Heating and cooling - homes,113.726
 | |
| Electricity grid,H2 conversion,27.14
 | |
| ```
 | |
| 
 | |
| ```mermaid
 | |
| sankey-beta
 | |
| 
 | |
| %% source,target,value
 | |
| Electricity grid,Over generation / exports,104.453
 | |
| Electricity grid,Heating and cooling - homes,113.726
 | |
| Electricity grid,H2 conversion,27.14
 | |
| ```
 | |
| 
 | |
| ### Empty Lines
 | |
| 
 | |
| CSV does not support empty lines without comma delimiters by default. But you can add them if needed:
 | |
| 
 | |
| ```mermaid-example
 | |
| sankey-beta
 | |
| 
 | |
| Bio-conversion,Losses,26.862
 | |
| 
 | |
| Bio-conversion,Solid,280.322
 | |
| 
 | |
| Bio-conversion,Gas,81.144
 | |
| ```
 | |
| 
 | |
| ```mermaid
 | |
| sankey-beta
 | |
| 
 | |
| Bio-conversion,Losses,26.862
 | |
| 
 | |
| Bio-conversion,Solid,280.322
 | |
| 
 | |
| Bio-conversion,Gas,81.144
 | |
| ```
 | |
| 
 | |
| ### Commas
 | |
| 
 | |
| If you need to have a comma, wrap it in double quotes:
 | |
| 
 | |
| ```mermaid-example
 | |
| sankey-beta
 | |
| 
 | |
| Pumped heat,"Heating and cooling, homes",193.026
 | |
| Pumped heat,"Heating and cooling, commercial",70.672
 | |
| ```
 | |
| 
 | |
| ```mermaid
 | |
| sankey-beta
 | |
| 
 | |
| Pumped heat,"Heating and cooling, homes",193.026
 | |
| Pumped heat,"Heating and cooling, commercial",70.672
 | |
| ```
 | |
| 
 | |
| ### Double Quotes
 | |
| 
 | |
| If you need to have double quote, put a pair of them inside quoted string:
 | |
| 
 | |
| ```mermaid-example
 | |
| sankey-beta
 | |
| 
 | |
| Pumped heat,"Heating and cooling, ""homes""",193.026
 | |
| Pumped heat,"Heating and cooling, ""commercial""",70.672
 | |
| ```
 | |
| 
 | |
| ```mermaid
 | |
| sankey-beta
 | |
| 
 | |
| Pumped heat,"Heating and cooling, ""homes""",193.026
 | |
| Pumped heat,"Heating and cooling, ""commercial""",70.672
 | |
| ```
 | |
| 
 | |
| ## Configuration
 | |
| 
 | |
| You can customize link colors, node alignments and diagram dimensions.
 | |
| 
 | |
| ```html
 | |
| <script>
 | |
|   const config = {
 | |
|     startOnLoad: true,
 | |
|     securityLevel: 'loose',
 | |
|     sankey: {
 | |
|       width: 800,
 | |
|       height: 400,
 | |
|       linkColor: 'source',
 | |
|       nodeAlignment: 'left',
 | |
|     },
 | |
|   };
 | |
|   mermaid.initialize(config);
 | |
| </script>
 | |
| ```
 | |
| 
 | |
| ### Links Coloring
 | |
| 
 | |
| You can adjust links' color by setting `linkColor` to one of those:
 | |
| 
 | |
| - `source` - link will be of a source node color
 | |
| - `target` - link will be of a target node color
 | |
| - `gradient` - link color will be smoothly transient between source and target node colors
 | |
| - hex code of color, like `#a1a1a1`
 | |
| 
 | |
| ### Node Alignment
 | |
| 
 | |
| Graph layout can be changed by setting `nodeAlignment` to:
 | |
| 
 | |
| - `justify`
 | |
| - `center`
 | |
| - `left`
 | |
| - `right`
 |