Skip to content

Commit af36ab6

Browse files
Replace png with svg examples
1 parent 4a460f1 commit af36ab6

11 files changed

+684
-6
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,6 @@ deps.dot
1515
deps.html
1616
deps.json
1717
deps.graphml
18+
deps.svg
1819
index.html
1920
cpp_dependency_graph.callgrind.out*

README.md

+8-6
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,11 @@ To generate the overall component depenency graph for a project, use it like so
3737

3838
Below is the overall `dot` and `d3` component dependency visualisations for [leveldb](https://github.com/google/leveldb)
3939

40-
![Dot](examples/leveldb_overall.png)
40+
![Dot](examples/leveldb_overall.svg)
4141

42-
![D3 Force Directed Graph](examples/leveldb_overall_d3.png)
42+
![d3.js visualisation of leveldb](examples/leveldb_overall_d3.svg)
43+
44+
![d3.js visualisation of rocksdb](examples/rocksdb_overall_d3.svg)
4345

4446
**NOTE** - If your project has a large number of components (> 100 and lots of connections between them), then generation (and subsequent rendering) may take some time.
4547

@@ -51,9 +53,9 @@ This will highlight the dependencies coming in and going out of a specific compo
5153

5254
Here's a component dependency visualisation generated for the `queue` component in [rethinkdb](https://github.com/rethinkdb/rethinkdb)
5355

54-
![Queue component dot visualisation](examples/rethinkdb_queue_component.png)
56+
![Queue component dot visualisation](examples/rethinkdb_queue_component.svg)
5557

56-
![Queue component d3 visualisation](examples/rethinkdb_queue_component_d3.png)
58+
![Queue component d3 visualisation](examples/rethinkdb_queue_component_d3.svg)
5759

5860
### Component include dependency graph
5961

@@ -63,9 +65,9 @@ This will highlight dependencies of includes within a specific component
6365

6466
Here's a component include dependency visualisation generated for the `queue` component in [rethinkdb](https://github.com/rethinkdb/rethinkdb)
6567

66-
![Queue include graph dot](examples/rethinkdb_queue_include.png)
68+
![Queue include graph dot](examples/rethinkdb_queue_include.svg)
6769

68-
![Queue include graph d3](examples/rethinkdb_queue_include_d3.png)
70+
![Queue include graph d3](examples/rethinkdb_queue_include_d3.svg)
6971

7072
## Development
7173

TODO.md

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
- [ ] Highlight strongly coupled components (i.e. have lots of outgoing/incoming dependencies). How to visualise strongly coupled components?
3232
- [ ] Interface vs implementation coupling (interface is worse!). Highlighting interface vs implementation coupling between components on graph?
3333
- [ ] Look at using subgraphs of the dot/svg language to cluster component dependencies in the graph
34+
- [ ] Create a d3 donut graph with relative sizes of components in project? This'll probably show which components need to be further split up (something like this https://blog.kathyreid.id.au/2016/12/29/linux-australia-expense-breakdown-a-data-visualisation-in-d3-js/)
3435
- [ ] Node size - base it on how many source files (or lines of code) or how many connections going in/out of node?
3536
- [ ] Provide a 'zoom' slider on the visualisation to zoom in/out of the view (high level dependencies to low-level dependencies)
3637
- [ ] Visualise components matching user provided regex only

examples/leveldb_overall.svg

+215
Loading

examples/leveldb_overall_d3.svg

+1
Loading

0 commit comments

Comments
 (0)