From 13c39236b0bbba27dd777dc70a71a08f693d187a Mon Sep 17 00:00:00 2001 From: Geir Date: Thu, 31 Oct 2024 18:52:55 +0100 Subject: [PATCH] docs: update readme.md with make_diag() --- README.md | 6 ++++++ docs/bts-tree.png | Bin 0 -> 8475 bytes docs/bts.png | Bin 14795 -> 19717 bytes tests/unit/test_diagram.py | 5 +++-- 4 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 docs/bts-tree.png diff --git a/README.md b/README.md index 32c59be..a61a2e2 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,12 @@ df = bts.solve() print(df) ``` ![result](https://github.com/geddy11/sysloss/raw/main/docs/bts.png) +```python +from sysloss.diagram import make_diag + +make_diag(bts, fname="bts.png") +``` +![tree](https://github.com/geddy11/sysloss/raw/main/docs/bts-tree.png) ## Documentation The [documentation](https://sysloss.readthedocs.io/en/latest/Getting%20started.html) includes tutorials in the form of Jupyter notebooks, located in docs/nb. diff --git a/docs/bts-tree.png b/docs/bts-tree.png new file mode 100644 index 0000000000000000000000000000000000000000..1ebb9d435504408dc70d40d5115f8f7d00001a1f GIT binary patch literal 8475 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