English: https://vega.github.io/editor/#/custom/vega
{
"$schema": "https://vega.github.io/schema/vega/v5.json",
"description": "A timeline of peer-to-peer software.",
"width": 500,
"height": 300,
"padding": 0,
"data": [
{
"name": "software",
"format": {"type":"json", "parse":{"created":"date","ended":"date"}},
"values": [
{
"label": "Napster",
"created": "1999-06-01",
"ended": "2002-09-03"
},
{
"label": "DC++",
"created": "1999",
"ended": "2022"
},
{
"label": "Madster",
"created": "2000-08",
"ended": "2002-12"
},
{
"label": "BearShare",
"created": "2000-12-04",
"ended": "2013-01-29"
},
{
"label": "WinMX",
"created": "2000-12-04",
"ended": "2004-07-02"
},
{
"label": "Soulseek",
"created": "2001-04-08",
"ended": "2021-02-21"
},
{
"label": "BitTorrent",
"created": "2001-07-02",
"ended": "2022"
},
{
"label": "Morpheus",
"created": "2001",
"ended": "2007-11-15"
},
{
"label": "Phex",
"created": "2001-04",
"ended": "2009-02-01"
},
{
"label": "Grokster",
"created": "2001",
"ended": "2005"
},
{
"label": "Kazaa",
"created": "2001",
"ended": "2006-11-26"
},
{
"label": "GNUnet",
"created": "2001-11-05",
"ended": "2022"
},
{
"label": "AudioGalaxy",
"created": "2002",
"ended": "2010"
},
{
"label": "LimeWire",
"created": "2000",
"ended": "2010"
},
{
"label": "FrostWire",
"created": "2004-09",
"ended": "2022"
},
{
"label": "WireShare",
"created": "2010-10-28",
"ended": "2022"
},
{
"label": "eDonkey2000",
"created": "2000-09-06",
"ended": "2006"
},
{
"label": "eMule",
"created": "2002-05-13",
"ended": "2010-04-07"
},
{
"label": "aMule",
"created": "2003-09",
"ended": "2021-02-07"
},
{
"label": "Shareaza",
"created": "2002",
"ended": "2017-09-18"
},
{
"label": "Vuze",
"created": "2003-06",
"ended": "2017-11-02"
}
]
}
],
"scales": [
{
"name": "yscale",
"type": "band",
"range": [0, {"signal": "height"}],
"domain": {"data": "software", "field": "label"}
},
{
"name": "xscale",
"type": "time",
"range": "width",
"round": true,
"domain": {"data": "software", "fields": ["created", "ended"]}
}
],
"axes": [
{"orient": "bottom", "scale": "xscale", "format": "%Y"}
],
"marks": [
{
"type": "text",
"from": {"data": "software"},
"encode": {
"enter": {
"x": {"scale": "xscale", "field": "created"},
"y": {"scale": "yscale", "field": "label", "offset": -3},
"fill": {"value": "#000"},
"text": {"field": "label"},
"fontSize": {"value": 10}
}
}
},
{
"type": "rect",
"from": {"data": "software"},
"encode": {
"enter": {
"x": {"scale": "xscale", "field": "created"},
"x2": {"scale": "xscale", "field": "ended"},
"y": {"scale": "yscale", "field": "label"},
"height": {"value": 2},
"fill": {"value": "#557"}
}
}
}
]
}