4 ms·
Hey everyone, I’m part of the Muze team at Charts.com. Over the years I’ve seen lots of people who struggle to find the perfect balance between low-level visua
by pallavn 8y ago
Hey everyone,
I’m part of the Muze team at Charts.com. Over the years I’ve seen lots of people who struggle to find the perfect balance between low-level visualization kernel (like d3), or black-box configurable charts (HighCharts, FusionCharts).
So we decided to build Muze taking a data-first approach, where you load your data in an in-browser DataModel, run relational algebra enabled data operators to get the right subset of data, and then just pass to Muze engine, which automatically renders the best visualization for it.
Any changes to data (including application of data operations) automatically updates the visualization, without you having to do anything else.
Couple of added benefits are :
- With other libraries, if you’ve to connect multiple charts (for cross-interactivity, drill-down etc.), you’ve to manually write the ‘glue’ code. With Muze, all charts rendered from the same DataModel are automatically connected (enabling cross-filtering).
- Muze allows faceting of data out of box with multi-grid layout.
- Composability of visualizations allow you to create any kind of cartesian visualization with Muze, without having to wait for the charting library vendor to release it as a ‘new chart type’
- Muze exposes Developer-first API for enabling interactivity and customizations. You can use the low-level API to create complex interaction
We’ve literally just launched this last month or so, so I’d love some feedback if you can spare the time.
Thanks for taking a look!
Website: https://www.charts.com/muze https://www.charts.com/muze
Github: https://github.com/chartshq/muze https://github.com/chartshq/muze
- cpsempek 8y ago> I’ve seen lots of people who struggle to find the perfect balance between low-level visualization kernel (like d3), or black-box configurable charts (HighCharts, FusionCharts) This is the biggest pain point for me with most current solutions. Either development time is super fast (e.g., tableau, periscope) but going beyond 80% is difficult, or development time is much longer (e.g., d3 or apis thereof) but you get full customization and getting to 100% is straightforward. For me, there is certainly a need to develop an 80% solution fast, but I also am always wanting to then redo the whole thing with lower level solution. I would prefer that I can piggy back off the 80% solution to 100% in the same software. That's a huge win for me. Thanks for providing a solution to this end, will definitely play around with this.
- hglaser 8y agoHey `cpsempek, Periscope Data CEO here. In a perfect world, how would the charting in Periscope work? How would you want to go from getting 80% very fast, to going to 100%, in the same software?
- cpsempek 8y agoHi, thanks for the reply! Actually, apologies for throwing your name next to tableau like that. I think your product does a great job incorporating things like R/python scripting to allow more flexibility in how data can be manipulated within the product. In this sense I prefer periscope to tableau (an in many other senses actually). A problem I encountered (granted over a year ago) was creating grouped bar charts with confidence intervals. Bars were grouped on some discrete x axis labels. The suggested solution for confidence intervals on grouped bars was to use a scatter plot to draw the confidence intervals, but this clumped them all on the xlabel position, not in the center of each bar. matplotlib for example treats the visualization as an object, in which case it makes a lot of sense that to add confidence intervals just query the bar objects for their positions and place line segments of desired widths in the center of the tops of the bars (or wherever, you have full control over this). So in general, a marriage of these two paradigms, quick development of a visualization based on data, but then the ability to switch to viewing and manipulating the visualization as a collection of instantiated objects with full control over their attributes. I am open to revisiting over any development periscope has made to this end.
- hglaser 8y agoAppreciate the feedback! Yeah, the hack you described for CIs is typical of "80% charting". We have a list of probably thousands of longtail visualization requests and we're way past the 80/20 point. These days customers who want to go 100% use the Python/R editors and do their custom visualization there. So you do your SQL query like usual, but then pipe it to Python/R for the visualization. Have you tried that, and has it worked for you? Or do you prefer another model?
- 8y ago
- moorhosj 8y agoI'm trying to implement the Programmatic trellis layout, but having difficulty re-creating it because I can't see the structure of the data. I started with the "yo muze" generator and am trying to manipulate with my own data. Am I missing something?
- educationdata 8y agoDo you support exporting the chart as png, pdf, etc.?