chriddyp-plotly

Joined 9 years ago

Karma
77
Submissions
10
Member since
Jun 21
View on Hacker News

Recent submissions

Comment · 9 years ago
I hope so to! We learned a lot since the prototype and, more importantly, secured some corporate sponsors to help fund the work and ensure its long term success.
Comment · 9 years ago
Comment · 9 years ago
Thank you @jarpineh!

> Have you thought about Gapminder like animations?

Definitely. The user guide actually walks you through creating an app with world indicator data. Check out the last example here: https://plot.ly/dash/getting-started-part-2. As you hover over points in the scatter plot, the time series updates with data corresponding to that point. A slider below the chart filters the scatter plot by year.

We recently added animations to plotly.js (the graphing library that's used by Dash) so that points can transition smoothly between states. That's accessible in dash by setting `animate=True` in the `dash_core_components.Graph` component.

One of the neat things about Dash is that you have full control over the visuals and the analytics. So you could easily update this example to display the "trails" behind the scatter plots as they are animating or programatically filter or aggregate the data before plotting it.

> Could you elaborate on what options there is for visualizing geographic information?

Plotly.js uses MapboxGL under the hood for satellite scatter and line plots. We also have lower-resolution SVG-based world and USA maps for choropleths, line, and scatter plots. You can see some examples of community generated maps in the feed: https://plot.ly/feed/?q=plottype:scattermapbox or just play around in the chart editor (https://plot.ly/create) to get a sense of what's available.

Through the `scattermapbox` chart type you can plot custom shapefiles but we can't yet color those shapefiles through a data array. We're looking for a company to help sponsor improvements like these.

Comment · 9 years ago
Comment · 9 years ago
Let me know how it goes! One of the cool things about Dash is that if you need to fallback on React code for building components, you can. Here are the docs on building your own components: https://plot.ly/dash/plugins. I imagine that some large teams may have 1 or 2 JS developers that build reusable components that the rest of the 100 analytical python components could use for their day-to-day app development / exploratory data analysis.
Comment · 9 years ago
The performance of the app will largely depend on the analytic code that you are running inside the Dash callback functions. A few things to note:

- The dash docs (https://plot.ly/dash) are itself a Dash app. They're getting a lot of traffic today with the launch and they're holding up OK to hundreds of active users.

- The state of Dash apps is entirely in the front-end (in JS in the web browser). The Dash app backend (the python part) is really lightweight - it's a flask server (that you run with an application server like gunicorn) that dispatches to the functions that you decorate. If your functions are really resource-intensive (in memory or if they block for a long period of time), then the app's performance will suffer as part of that. However, since this analytic code is scoped inside a function, the memory will free up after the request is done.

- Since Dash's callbacks are functional, you can pretty easily add caching. Caching will store the previously computed values and serve them if the input arguments are the same. There is some more info in the "performance" section of the docs: https://plot.ly/dash/performance

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton