An open API service indexing awesome lists of open source software.

https://github.com/vsedyshev-intermedia/yati

Yet Another Timeline Implementation
https://github.com/vsedyshev-intermedia/yati

chart python serverside-rendering

Last synced: about 1 month ago
JSON representation

Yet Another Timeline Implementation

Awesome Lists containing this project

README

          

# yati

Yet Another Timeline Implementation (yati) is high level with ink data rate value.

Result:

![](https://github.com/vit1251/yati/blob/master/example_01.jpg)

Source:

```python
g = yati.Graph(size=(800, 600))
gg1 = g.createGroup(name="Suite 1")
gg1l1 = gg1.createLine(name="AR_0001")
gg1l1.registerInterval(start=0.0, end=2.5, color=yati.Color.GRAY)
gg1l1.registerInterval(start=2.5, end=5.0, color=yati.Color.RED)
gg1l1.registerInterval(start=5.0, end=7.5, color=yati.Color.GREEN)
gg1l1.registerInterval(start=7.5, end=10.0, color=yati.Color.YELLOW)
#
gg1l2 = gg1.createLine(name="AR_0002")
#
gg1l2.registerInterval(start=2.5, end=5.0, color=yati.Color.parse(yati.Color.GREEN).createDark(50))
gg1l2.registerInterval(start=5.0, end=7.5, color=yati.Color.parse(yati.Color.GREEN).createLight(50))
#
gg2 = g.createGroup(name="Suite 2")
#
for i in range(10):
gg2l1 = gg2.createLine(name="AR_{num:04d}".format(num=i+10))
color = random.choice([yati.Color.GREEN, yati.Color.YELLOW, yati.Color.GRAY, yati.Color.ORANGE, yati.Color.RED])
start = random.choice([0.5, 1.5, 2.5, 3.5, 4.5])
end = start + random.choice([0.5, 1.5, 2.5, 3.5, 4.5])
gg2l1.registerInterval(start=start, end=end, color=color)
#
gr = yati.GraphRender(graph=g, padding=(0,0,0,100))
gr.render(filename="1.svg")
```

Watch theory on YouTube:

[![Ink-Information Ratio](http://img.youtube.com/vi/CJouyPxHb84/0.jpg)](http://www.youtube.com/watch?v=CJouyPxHb84)