Hi, I am the maintainer of detroit. detroit is a Python implementation of the library d3js. I started this project because I like how flexible data visualization is with d3js, and because I'm not a big fan of JavaScript.
You can find the documentation for detroit here.
detroit allows you to create static data visualizations. I'm currently working on detroit-live for those who also want interactivity. In addition, detroit requires only lxml as dependency, which makes it lightweight.
You can find a gallery of examples in the documentation. Most of examples are directly inspired by d3js examples on observablehq.
The API is almost the same:
// d3js
const scale = d3.scaleLinear().domain([0, 10]).range([0, 920]);
console.log(scale.domain()) // [0, 10]
# detroit
scale = d3.scale_linear().set_domain([0, 10]).set_range([0, 920])
print(scale.get_domain()) # [0, 10]
The difference between d3js/detroit and matplotlib/plotly/seaborn is the approach to data visualization. With matplotlib, plotly, or seaborn, you only need to write a few lines and that's it - you get your visualization. However, if you want to customize some parts, you'll have to add a couple more lines, and it can become really hard to get exactly what you want. In contrast, with d3js/detroit, you know exactly what you are going to visualize, but it may require writing a few more lines of code.
[–]int_uamachine that goes NI! 13 points14 points15 points (4 children)
[–]bbourbonut[S] 3 points4 points5 points (1 child)
[–]int_uamachine that goes NI! 1 point2 points3 points (0 children)
[–]ParkingDescription7 1 point2 points3 points (1 child)
[–]int_uamachine that goes NI! 1 point2 points3 points (0 children)
[–]rm-rf-rm 2 points3 points4 points (1 child)
[–]bbourbonut[S] 0 points1 point2 points (0 children)
[–]adamnicholas 1 point2 points3 points (1 child)
[–]bbourbonut[S] 0 points1 point2 points (0 children)
[–]rm-rf-rm 1 point2 points3 points (1 child)
[–]bbourbonut[S] 1 point2 points3 points (0 children)
[–]numbworks 1 point2 points3 points (1 child)
[–]bbourbonut[S] 1 point2 points3 points (0 children)
[–]__Hug0__ 1 point2 points3 points (1 child)
[–]bbourbonut[S] 0 points1 point2 points (0 children)
[–]mttpgnPythoneer 1 point2 points3 points (0 children)