Settings and activity

  1. 9 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  Highcharts Javascript API  ·  Flag idea as inappropriate…  ·  Admin →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    An error occurred while saving the comment
    Phil Ewels commented  · 

    ps. If you're curious, you can see the full 308 lines of code that generates the plot in that linked report here: https://github.com/ewels/MultiQC/blob/master/multiqc/templates/default/assets/js/multiqc_plotting.js#L767-L1075

    An error occurred while saving the comment
    Phil Ewels commented  · 

    Hi both,

    Apologies - I didn't seem to get any e-mails about your replies. Exactly as Jamie says - the plot is to show distribution of a dataset. The advantage over histograms / boxplots etc is that individual data points can be seen.

    Jon - I (separately) had a go at doing exactly what you suggest. It sort of works, but it's difficult to do well when there are large numbers of samples. You can see my development jsfiddle with example data here: http://jsfiddle.net/5kc0wtfg/8/

    My code breaks down a little when there are hundreds of points though, you can see this in a report generated by my tool MultiQC (where I want this code for) here: http://imlspenticton.uzh.ch/robinson_lab/conquer/report-multiqc/GSE63818-GPL16791_multiqc_report.html

    Clearly my approach to avoid overlapping isn't working very well. I can work on it further, but it's getting very complex now. This is my reason for wanting the plot type as a core plot - I suspect that you guys can do a better job than me, and I think it would be a very useful plot type to have as part of HighCharts (for scientists especially).

    Example of a d3.js plot doing similar stuff with fancy animated collisions to do the clustering: http://bl.ocks.org/njvack/1316832

    Phil

    Phil Ewels shared this idea  ·