I'd recommend using linear rather than Bézier interpolation. I
experimented with the same (a "diagonal-x" interpolation mode), and
decided the standard linear interpolation is better at showing slope
between adjacent dimensions. This slope is meaningful information for
a parallel coordinates visualization: it encodes correlation.
I gotta ask, though… why use Canvas when you have D3? For example, if
you used D3, you could resize your brushes by grabbing an edge, and
preserve the center by option-dragging.
Mike
Thanks! We've been working on that for a while and just released 2.5.0
this weekend with the new brush component. I believe that Android
recently enabled SVG support, but Android manufacturers are pretty bad
about keeping up-to-date:
http://theunderstatement.com/post/11982112928/android-orphans-visualizing-a-sad-history-of-support
> So I might just swap it out for that. SlickGrid has worked out really well
> though. I'd like to add events on hovering over the grid, so you can see
> which lines correspond to which rows.
Yep; two-way linking would be nice.
Mike
Added an upload button which uses d3.csv to parse the file, then display it in parallel coordinates and the grid:The parallel coordinates chart only accepts numeric columns plus one "name" column that can contain strings.Any ideas on making this more robust? Some quick-and-dirty CSV readers I've seen inspect the first row of values and assume that is the type for the whole column.
load_csv(usgs_url, show, { header_cb: parse_header, line_cb: parse_line });function parse_header(name, n) {return ({ '# Columns: ZIP/Location': 'zip', 'CDI': 'cdi', 'No. of responses': 'responses', 'Epicentral distance': 'dist', 'Latitude': 'lat', 'Longitude': 'lng', 'Suspect?': 'suspect', 'City': 'city', 'State': 'state'})[name];}function parse_line(val, n) {return ([ String // zip, String // cdi, Number // responses, Number // dist, Number // lat, Number // lng, Number // suspect, String // city, String // state])[n](val);}
This is lovely! Thank you for sharing with the group.
You've inherited a tiny bug of mine, which is that you can't select
the topmost pixel. If you switch to inclusive bounds (<=) then you'll
be able to select a data point that interests the axis upper bound.
Mike
One thing that would be nice, would be the ability to add/remove whole foodgroups by toggling them (maybe as buttons) since you have this data now. The reason I say that is because when searching I keep getting "Spices and Herbs" as the top group which is not really something I care about when trying to find a food high in fiber for instance.
Added bi-directional linking at http://exposedata.com/parallel/Hover over the grid to see the corresponding line in parallel coordinates.
These are notes on user difficulties from watching newcomers use the chart. The toughest interface problems were:
* Click pie charts, with no effect
* Not scrolling down far enough initially to see the data table, even while interacting with the chart
Impressive work, much appreciated data exposure.
On Dec 8, 3:08 am, Kai Chang <kai.s.ch...@gmail.com> wrote:
> Johan, thanks for the design suggestions. I made a several changes as a
> result of your advice:
>
> - A legend, eventually to be used for filter by group instead of the pie
> chart
> - Reduced the opacity of pie chart to make it less prominent, and
> removed grey backgrounds
> - Removed instructions for now. There should be a separate tutorial page
> and video, maybe by January once things are more polished for new users.
>
> Other changes:
>
> Curved polylines using cardinal interpolation. The tension is subtle at
> 0.85, but it helps a lot with the continuity of lines. There is some
> motivation for curves in this paper, especially for lines with shared value
> pairs on adjacent columns:
>
> http://www.soc.napier.ac.uk/~marting/parCoord/GrahamKennedyParallelCu...
>
> The page is full-width by default now. Perhaps will add auto-adjusting
> height to fill the window.
>
> Added auto-scaling opacity based on number of foods selected (more foods,
> more transparency).
>
> Lastly, I've included much more of the USDA data (~80% compared to ~25%
> before), including foods with null values for some nutrients. Nulls are
> shown as 0 on the parallel chart. This totals up to almost 7000 rows with
> 14 numeric columns!
>
> The page slows to a crawl even in Chrome. Worse in FF. Seems to be the
> weight of the SVG elements on the DOM. Even CSS changes like hiding ticks
> becomes much slower. The number of tick marks doesn't change with more
> data, but maybe there's some unnecessary rendering going on... I'll take a
> closer look at these issues and report back.
>
> To get better performance, use Keep/Remove to subset the data. Filter down
> to 1200 data points and click Keep- things will speed back up.
>
> 2011/12/4 Johan Sundström <oyas...@gmail.com>
Lastly, I've included much more of the USDA data (~80% compared to ~25% before), including foods with null values for some nutrients. Nulls are shown as 0 on the parallel chart. This totals up to almost 7000 rows with 14 numeric columns!The page slows to a crawl even in Chrome. Worse in FF.