Live data from Hacker News

Show HN: Tableau-Like Data Visualizations in JavaScript

charts.com

101–110 of 117 posts

Re: Show HN: Tableau-Like Data Visualizations in JavaScript

#101
post #85
post #17

Earlier quoted context omitted.

We had plans to move DataModel (manages all data ops) to serverside. We even have a half baked DataModel in Scala which we thought we would do it once we understand some usecase. But currently we have put it on hold. We would love to know your - use case - number of data points - ops on data on serverside You can mail us to eng@charts.com

It seems to me like you could leverage any number of analytical engines that expose relational interfaces, rather than go to the trouble of building your own relational model. What are the goals in building first, rather than integrating?

I'm glad you asked this.

So here is the thing with our DataModel. Every time you perform an ops on DataModel it create another instance. Now performing multiple such actions create a DAG where each node is an instance of DataModel and each edge is an operation.

We have auto interactivity, which propagates data (dimensions) pulse along the network. Any node which is attached to visualiztion receives those pulses and changes the visual.

So far I have not found any relational interface which exposes this DAG graph and api to user. Hence we though of building this.

Having said that, we might use some established relational interface and do the propagation ourself.

Re: Show HN: Tableau-Like Data Visualizations in JavaScript

#102

We currently use Plotly quite a bit where I work for a customer facing website with a wide variety of charts. Does anyone know what some of the tangible benefits might be to migrating to this instead of using Plotly?

Depends on your use case. Can you share any pointers where

- you feel you had hard time achieving with Plotly? - a feature you wanted is not supported by Plotly?

Re: Show HN: Tableau-Like Data Visualizations in JavaScript

#103
post #80

Hi pallavn (or someone else who might know), how was the animation at the top of the page created? Beautiful work all around btw!

thanks Jerry2, the Animation was created using adobe aftereffects and exported using the bodymovi plugin as a JSON file along with keyframe images. The exported animation can be loaded using the lottie framework. https://airbnb.io/lottie/. Hope this helps.

Re: Show HN: Tableau-Like Data Visualizations in JavaScript

#104
post #90

I've been a career data analyst for 12 ish years. At first I didn't get the reference to Tableau, because I use Tableau for about 5-8 hours every day. I've played around with every new charting library since Flex because I've always wanted to create a free version of Tableau that gets me 80% of what I use Tableau for, but with 1% the frustration of using Tableau. Problem was, I could never figure out how Tableau is a…

Hey it does work on mobile. However, remember visualizations like crosstab, splom are not meant to be displayed in a space constrained area as is. There are multiple way to handle this situation. At this point of time Muze does not changes layout based on space.

The web framework fetches data, does some additional checking on data and schema, process visible code and render it. That is probably the reason you are seeing lag.

Also there are few areas where Muze performance needs to be improved. We are doing a release to address this soon.

Re: Show HN: Tableau-Like Data Visualizations in JavaScript

#106
post #2

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…

I'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?

Re: Show HN: Tableau-Like Data Visualizations in JavaScript

#107
post #2

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…

I'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?

hey here is the full code starting from data loading to housing the viz on a dom node.

https://jsfiddle.net/adarshlilha/8n5a94j1/20/

Does this help?

Re: Show HN: Tableau-Like Data Visualizations in JavaScript

#108
post #65
post #46

Earlier quoted context omitted.

Maybe try Muze to be able to build all those long tail viz :) - given that you don't have to think of any viz in Muze as a chart type - but rather compositions through layers. Would love to talk to you guys!

Always happy to talk! harry at periscopedata.com

offtopic: this is why I love HN! :)

Re: Show HN: Tableau-Like Data Visualizations in JavaScript

#109
post #101
post #85

Earlier quoted context omitted.

It seems to me like you could leverage any number of analytical engines that expose relational interfaces, rather than go to the trouble of building your own relational model. What are the goals in building first, rather than integrating?

I'm glad you asked this. So here is the thing with our DataModel. Every time you perform an ops on DataModel it create another instance. Now performing multiple such actions create a DAG where each node is an instance of DataModel and each edge is an operation. We have auto interactivity, which propagates data (dimensions) pulse along the network. Any node which is attached to visualiztion receives those pulses and c…

The implementation you are discussing sounds pretty elegant. I am most familiar with Power BI from a data viz perspective, but have used most of the enterprise viz tools out there.

The thing that always struck me about Power BI (and also Qlik) is that it is very much a model-first tool. Visualization is secondary to the model, to the extent that much of the friction I see in new users has been treating it as a reporting/layout/visualization tool when, in fact, it is a data modeling tool with a visualization engine strapped on.

One of the big drawbacks with Power BI is that it has a terribly inefficient implementation for propagating filter contexts for visual interactions (this is their translation of your "auto interactivity, which propagates data (dimensions) pulse along the network"). I do not know the internal implementation, but I am relatively certain that visual interactions are ~O(N!) in the number of visual elements on a report page, based on my experience of performance scaling across a wide range of reports. Regardless, one of the best practices is to limit a Power BI report page to a small number of visualizations (recommendations of the cutoff value vary, and types of visuals can also impact this).

If I understand you correctly, you are calculating the minimum set of recalculations/re-renderings necessary, based on the data element that a user has interacted with. This should be something much closer to O(N) in the number of visuals to propagate user selections to other visuals. I am making an assumption that most visuals should interact, as typically the scope of a single report should have a high degree of intersection of dimensionality across all report elements.

I do not know of any analytics engine that exposes the sort of DAG and associated API you are discussing, either. The reason for my initial question was simply because that sort of engine is a product in and of itself. There are plenty of columnstore databases (and following other paradigms, but optimized for OLAP workloads) out there. It seems like biting off a lot to tackle both the data engine and the visualization tier at the same time.

The big reason that I ask is that this sort of approach to visualization seems to me to benefit greatly from a data model that supports transaction-level detail. The type of interactivity that you expose is extremely powerful. I have seen interactive tools hamstrung by data models that do not allow sufficient interaction. As soon as you put interactivity in front of users, in my experience, they want to do more with the data. If you are limited to datasets that can live comfortably in the browser, that seems a showstopper to me, as it will require pre-aggregation to fit most of the datasets I've seen; pre-aggregation negates many benefits of interactive data exploration.

I'll be taking a much further dive into your product either this weekend or next. I'm very interested.

Re: Show HN: Tableau-Like Data Visualizations in JavaScript

#110

We currently use Plotly quite a bit where I work for a customer facing website with a wide variety of charts. Does anyone know what some of the tangible benefits might be to migrating to this instead of using Plotly?

Having only browsed both Plotly and this project, this is my understanding:

Plotly seems like its just the charting/graphing layer. A common use case (and increasingly an expectation) is that a series of graphs on a single page be responsive and cross filterable. For instance, if you click on a single element on one chart, it should filter the related charts accordingly. Additionally, these filters should build on each other and the developer/analyst should be able to define that.

Really, you're now doing a form of data modelling and in the domain of BI, and Plotly isn't going to help you figure any of this out.

Tableau and Power BI have gotten traction by building products that not only include but prioritize this form of modelling. Once you define your data model, you get the multi dimensional charting for free.

The appeal to me of this library (not having done a thorough G2) is an open source alternative to those products that integrates charts and data modelling easily.

Post reply on HN