Live data from Hacker News

Show HN: Tableau-Like Data Visualizations in JavaScript

charts.com

111–117 of 117 posts

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

#111
post #101

Earlier quoted context omitted.

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 report…

You are absolutely correct the propagation for us is O(n) as the graph is directed. But the problem there is multifold. Once a node receives propagation pulse it tries to figure out the affected subset using the dimensions received as propagation pulse. This requires joining, hence a chance to build a O(mn)cartesian product. If you see https://www.charts.com/muze/examples/view/crossfiltering-wit... example the contribution bars are drawn when the first chart is dragged requires joining follower by groupBy.

Which is why performing this in browser env even for low amount of data (say 10k) is nightmare. There are ways you can address this but while in browser you hit the limit pretty soon.

We wanted the concept to be validated first hence we have build it for browser only. But would love to hear / learn / discuss with you on this before we go ahead and build the data model in server.

Another ambiguity with the interaction is visual effect of interaction. Questions like do you really want all your chart to be cross connected. A in house survey showed us there is no certainty of the answer. And what kind of visual effect should happen on interaction differs person to person and is a function of use case. Which is why we have chosen go for chosen behaviour like

``` muze.ActionModel.for(...canvases) / for all the chart in page / .enableCrossInteractivity() / allow default cross interactivity / .for(tweetsByDay, tweetsByDate) / but for first two canvas in the example / .registerPropagationBehaviourMap({ select: 'filter', brush: 'filter' }) / if selection using mouse click or brushing happens filter data / ```

we are still writing docs for this. We hope to finish all the these docs in two weeks time.

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

#112
post #107

Earlier quoted context omitted.

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?

I will work through this. Thanks for the help!

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

#113
post #111

Earlier quoted context omitted.

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 report…

You are absolutely correct the propagation for us is O(n) as the graph is directed. But the problem there is multifold. Once a node receives propagation pulse it tries to figure out the affected subset using the dimensions received as propagation pulse. This requires joining, hence a chance to build a O(mn)cartesian product. If you see https://www.charts.com/muze/examples/view/crossfiltering-wit... example the contri…

I'm happy to continue this discussion in further detail and share my experience. You can get in touch with me at the email address in my profile if you'd like.

You're hitting a very important question in your fourth paragraph about ambiguity of desired effect from interaction. I often catch myself thinking I've heard every use case and built most of them in various viz tools. But I have learned that I am always wrong when I think that. I frequently encounter people asking for new things and it is always a toss-up whether what they want is trivial and novel or impossible and obvious.

I tend to be a data-guy much more than a viz-guy, but I fully understand the value of viz for actually presenting knowledge. Like I said, I'm interested in trying out your tool more.

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

#114
post #101

Earlier quoted context omitted.

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 report…

Out of interest, what size of dataset are you talking about? Thousands of records? Millions?

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

#115
post #47

Earlier quoted context omitted.

> The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time. Now, I'm not saying that directly applies to your problems, but there's good reason this is a saying. Going from 80% to 100% will take as long or longer as going from 0 to 80, because the last 20% is all edge cases that are a nigh…

Would love to know what is scoped in that last 10%?

I can't speak for others, but in my case it was uncovering an issue with a legacy feature that led to needing to rewrite a good chunk of the site logic.

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

#116
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…

Do you support exporting the chart as png, pdf, etc.?

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

#117

Earlier quoted context omitted.

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 report…

Out of interest, what size of dataset are you talking about? Thousands of records? Millions?

Customers I've worked with that have small datasets would typically range into the 10M order of magnitude for a primary fact, though we had smaller outliers. Additionally, it would be common to have wide dimensions that could be KBs/record, which can add up quickly.
Post reply on HN