Coder Social home page Coder Social logo

neuhausi / canvasxpress Goto Github PK

View Code? Open in Web Editor NEW
287.0 23.0 44.0 108.92 MB

CanvasXpress: A JavaScript Library for Data Analytics with Full Audit Trail Capabilities.

Home Page: http://www.canvasXpress.org

R 76.01% JavaScript 0.86% CSS 23.13%
javascript r visualization analytics network reproducible-research bioinformatics genomics chart cran shiny data-science data-visualization graphs python data-analytics network-visualization dash dashboard charting

canvasxpress's Introduction

title output
CanvasXpress R Library
html_document
self_contained

CRAN_Status_Badge CRAN_Downloads_Badge CDNJ version Coverage Status

canvasXpress was developed as the core visualization component for bioinformatics and systems biology analysis at Bristol-Myers Squibb. It supports a large number of visualizations to display scientific and non-scientific data. canvasXpress also includes a simple and unobtrusive user interface to explore complex data sets, a sophisticated and unique mechanism to keep track of all user customization for Reproducible Research purposes, as well as an 'out of the box' broadcasting capability to synchronize selected data points in all canvasXpress plots in a page. Data can be easily sorted, grouped, transposed, transformed or clustered dynamically. The fully customizable mouse events as well as the zooming, panning and drag-and-drop capabilities are features that make this library unique in its class.

canvasXpress can be now simply used within R at the console to generate conventional plots, in R-Studio or seamlessly embedded in Shiny web applications. Full-fledged examples of the canvasXpress library including the mouse events, zooming, and broadcasting capabilities are included in this package in several examples that can be accessed using the cxShinyExample function. This canvasXpress R library was created with the htmlwidgets package.

Installation

canvasXpress is available for installation from CRAN or you can install the latest version of canvasXpress from GitHub as follows:

devtools::install_github('neuhausi/canvasXpress')

Examples

These are included to get you started on basic charting - there are many more examples (including complex and compound visualizations) with R code available in the Examples section of the main website at https://www.canvasxpress.org

Scatter 3D Plot

y <- read.table("https://www.canvasxpress.org/data/cX-irist-dat.txt", header=TRUE, sep="\t", 
                quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)
z <- read.table("https://www.canvasxpress.org/data/cX-irist-var.txt", header=TRUE, sep= "\t", 
                quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)

canvasXpress(data      = y,
             varAnnot  = z,
             graphType ="Scatter3D",
             colorBy   = "Species",
             ellipseBy = "Species",
             xAxis     = list("Sepal.Length"),
             yAxis     = list("Petal.Width"),
             zAxis     = list("Petal.Length"),
             theme     = "CanvasXpress",
             title     = "Iris Data Set",
             axisTickScaleFontFactor  = 0.5,
             axisTitleScaleFontFactor = 0.5)

Scatter3D

Scatter 2D Matrix Plot

y <- read.table("https://www.canvasxpress.org/data/cX-irist-dat.txt", header=TRUE, sep="\t", 
                quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)
z <- read.table("https://www.canvasxpress.org/data/cX-irist-var.txt", header=TRUE, sep= "\t", 
                quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)

canvasXpress(data              = y,
             varAnnot          = z,
             graphType         = "Scatter2D",
             colorBy           = "Species",
             layoutAdjust      = TRUE,
             scatterPlotMatrix = TRUE,
             theme             = "CanvasXpress")

Scatter2DMatrix

Boxplot

y <- read.table("https://www.canvasxpress.org/data/cX-toothgrowth-dat.txt", header=TRUE, sep="\t", 
                quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)
x <- read.table("https://www.canvasxpress.org/data/cX-toothgrowth-smp.txt", header=TRUE, sep="\t", 
                quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)

canvasXpress(data                  = y,
             smpAnnot              = x,
             graphType             = "Boxplot",
             groupingFactors       = list("dose", "supp"),
             stringSampleFactors   = list("dose"),
             graphOrientation      = "vertical",
             colorBy               = "dose",
             title                 = "The Effect of Vitamin C on Tooth Growth in Guinea Pigs",
             smpTitle              = "dose",
             xAxisTitle            = "len",
             smpLabelRotate        = 90,
             xAxisMinorTicks       = FALSE,
             xAxis2Show            = FALSE,
             legendScaleFontFactor = 1.8)

Boxplot

Heatmap (Multi-dimensional)

y  <- read.table("https://www.canvasxpress.org/data/cX-multidimensionalheatmap-dat.txt", header=TRUE, sep="\t", 
                 quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)
y2 <- read.table("https://www.canvasxpress.org/data/cX-multidimensionalheatmap-dat2.txt", header=TRUE, sep="\t", 
                 quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)
y3 <- read.table("https://www.canvasxpress.org/data/cX-multidimensionalheatmap-dat3.txt", header=TRUE, sep="\t", 
                 quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)
y4 <- read.table("https://www.canvasxpress.org/data/cX-multidimensionalheatmap-dat4.txt", header=TRUE, sep="\t", 
                 quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)
x  <- read.table("https://www.canvasxpress.org/data/cX-multidimensionalheatmap-smp.txt", header=TRUE, sep= "\t", 
                 quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)
z  <- read.table("https://www.canvasxpress.org/data/cX-multidimensionalheatmap-var.txt", header=TRUE, sep= "\t", 
                 quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)

canvasXpress(data                 = list(y = y, data2 = y2, data3 = y3, data4 = y4),
             smpAnnot             = x,
             varAnnot             = z,
             graphType            = "Heatmap",
             guides               = TRUE,
             outlineBy            = "Outline",
             outlineByData        = "data2",
             shapeBy              = "Shape",
             shapeByData          = "data3",
             sizeBy               = "Size",
             sizeByData           = "data4",
             showHeatmapIndicator = FALSE,
             afterRender          = list(list("clusterSamples")))

Heatmap

Four way Venn Diagram

canvasXpress(vennData   = data.frame(AC=456, A=340, ABC=552, ABCD=148, BC=915, ACD=298, BCD=613, 
                                     B=562, CD=143, ABD=578, C=620, D=592, AB=639, BD=354, AD=257),
             graphType  = "Venn",
             vennLegend = list(A="List 1", D="List 4", C="List 3", B="List 2"),
             vennGroups = 4)

Venn

More Examples and Resources

In addition to the built-in package documentation there are vignettes with more information on getting started and additional examples:

#List all package vignettes
vignette(package = "canvasXpress")

#View a specific vignette
vignette("getting_started", package = "canvasXpress")
vignette("additional_examples", package = "canvasXpress")

For the use of canvasXpress plots in shiny there are interactive examples available through the package function cxShinyExample

#List example names
cxShinyExample()

#Run an interactive shiny example
cxShinyExample(example = "example1")

There is also a wealth of additional information including full API documentation and extensive R and JavaScript examples at https://www.canvasxpress.org.

canvasxpress's People

Contributors

agenius-jasmine avatar agenius-jennifer avatar agenius-lisa avatar agenius-menna avatar agenius-mohammed-ali avatar agenius-navyasri avatar angeline-pro avatar cb4ds avatar cpsievert avatar dheerajagr7 avatar docinfosci avatar ginberg avatar kar-agg-gen avatar klmedeiros-ag avatar neuhausi avatar saranya-ag avatar wfulp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

canvasxpress's Issues

Several problems

Hi neuhasi
I working with your js library (the last version, 19.1) and I found the following issues:

  • There is a minor problem with the freegeoip query. It warns the following: {"__deprecation_message__":"This API endpoint is deprecated and will stop working on July 1st, 2018. For more information please visit: https://github.com/apilayer/freegeoip#readme","ip":"...
  • When I try to export the svg image, the Mozilla browser does nothing and I get the following error in the browser console:
    TypeError: w.indexOf is not a function
  • Using circular graphs, the showRingLegend attribute seems not work and I guess that is set to true by default. I attach an example in which I expect that the variables names are shown in the graph but they not appears (BTW: It is posible to show them in a box out of the circular graph?

cx-obj_29_

Thanks in advance by your attention and I want to congratulate you by this great tool.

PD: I'm using your library in a scientific work and I would like cite you. Can you give me a valid reference?

Plot crashes when dataset has a completely empty column

Hi,

Thanks for your work on this library.

The plots seem to crash the page when I try to load in a data set that contains a completely empty row.

I'm trying to create an CanvasXpress object with these settings:
y:
image

x: (My program automatically adds the "No group" row to be able to group all samples together. This shouldn't affect the bug)
image

z:
null

styling:
image

new CanvasXpress("canvas", {
y: yobj,
x: xobj,
z: zobj
}, styling, false);

I cannot share the data I am using so I made a dummy set that reproduces the problem.

It should be reproducible with this dataset:
https://pastebin.com/05NRK5DV

Let me know if you are unable to reproduce or need additional information.

Thanks

Problems with sample agrupation on circular graphs

Sorry neuhasi, I'm using intensively your javascript library and I discover weird things with my data. Using your last version of circular graphs, the sample agrupation with 'smpOverlays' property mix randomly the samples as you can view:
cx-obj_36_
cx-obj_37_
The sample names that is shown on charts contains the conditions used on the experiment (time: 7d -28d and individual names: Rev, wildtype, etc). I build a graph for each factor, the first for time and the last for individual names. If you check the sample names there are mixed samples. For example, in the first chart there is r2_28_Rev1_1 sample in the 7d overlay when it is a 28d sample. In the second chart the overlays are completly mixed and on the bottom of image, in fact, a overlay invades a group of samples.
I've checked th json data and y think that the sample names and sample attributes arrays are correctly related, so I don't know what causes the sample mixing.
Thank you in advance and my apologies for the all the inconveniences.
Pedro

NA values in heatmap tables

Hi Isaac,

I have a matrix where some of my cells have null values. (I am doing a t-test calculation of expression based on mutation status for a set of samples grouped by cancer type. My x axis would be the cancer type and the Y axis the Gene symbol. For some cancer types I don’t have enough samples with mutations in a particular gene so for that particular gene I have a p-value of “NA”).
When I try to plot this data the heatmap show a loading screen and seem to get stuck there. I tried commenting out the "variables clustered" option as I know it would be problematic but I still have the same loading screen issue.
If I remove all columns that contain at least 1 NA then it seem to work fine.

canvasXpress(heatmap_matrix_with_rownames, 
                         graphType='Heatmap', 
                         width=500, 
                         height=800, 
                         title=titleHM, 
                         #variablesClustered=TRUE, 
                         #samplesClustered = TRUE,
                         showSampleNames=TRUE,
                         colorSpectrum = c("green", "black", "red"), 
                         #colorSpectrumZeroValue = "White", 
                         heatmapIndicatorHeight = 40, 
                         heatmapIndicatorHistogram = TRUE, 
                         heatmapIndicatorPosition = "topLeft", 
                         heatmapCellBox = FALSE
)

Thanks a lot,

Julio

data ->bug

I use the demo:http://canvasxpress.org/html/bar-7.html,
just change the data to
"y" : {
"vars" : ["(0.01,0.1]", "(0.1,0.25]", "(0.25,0.5]", "(0.5,1]", "(1,3]", "(3,10]", "(10,20]", "(20,60]"],
"smps" : ["0-10", "10-20", " 20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90"],
"data" : [[1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0]],
"desc" : ["Magnitude1", "Magnitude2"]
},
but the chart is not right, the Z axis is also wrong,how can I get the right chart

Circular Chart does appear in RStudio

I tried to reproduce https://canvasxpress.org/examples/circular-1.html# using RStudio (v3.5.0, v3.6.1 & v3.6.2) but the plot does not appear/is loading forever. Reproducing a simple venn diagram (https://canvasxpress.org/examples/venn-1.html) works fine.

If I knit the markdown the following error appears:
Could not fetch http://canvasxpress.org/images/uploadFile.jpg
HttpExceptionRequest Request {
  host = "canvasxpress.org"
  port = 80
  secure = False
  requestHeaders = []
  path = "/images/uploadFile.jpg"
  queryString = ""
  method = "GET"
  proxy = Just (Proxy {proxyHost = "appaccess-zscaler.boehringer.com", proxyPort = 80})
  rawBody = False
  redirectCount = 10
  responseTimeout = ResponseTimeoutDefault
  requestVersion = HTTP/1.1
}
 ResponseTimeout

SSL cert and HTTPS hosting for http://www.canvasxpress.org/cgi-bin/services.pl

Hiya. I'm running my sites over SSL now, and I get the dreaded yellow "insecure page" icon on pages that use canvasXpress.min.js because it calls http://www.canvasxpress.org/cgi-bin/services.pl.

I'd request that either this be changed to a working HTTPS URL or removed, so that the site shows the pretty green "all secure" icon on these pages. :) THANKS! (There is currently HTTPS serving on that domain, but it's got SSL certs for other sites.)

How to add a tree to a chart?

Hi neuhasi
I'm working with you javascript library but with your last changes I'm lost with the tree feature. Take a histogram with four samples : A, B, C and D with values of 2, 10 ,20 and 15 and the relations are A,(D,(B,C)). How the tree is declared in the canvas object? and how it is placed in the chart?
Thank you in advance

Trying to dynamically switch the canvasXpress object's data (heat map)

I've got a stack of heat maps (with JSON data stored in an array) and I'd like to show one at a time with a selector to toggle them. Ideally there'd be a function I can access to update the CanvasXpress instance data (the config and events don't change); not seeing that, I've tried various combinations of deletion / instantiation, none of which render a new heat map on the canvas. Here's the code I'm working with so you can get an idea of what I'm up to.

The first time setExpressionSet is called, the canvas is rendered correctly. Subsequent calls fail to replace the canvas with the new heat map. If I don't destroy the instance, I get a spinner with no canvas update (and the browser complains about a stuck script); if I destroy the instance, the canvas is left blank.

var conf = config block, works fine
var evts = event handlers, works fine
var cx = null; // we use cx outside the below function, works fine

 // refresh the heatmap with the indicated expression set
 function setExpressionSet(index) {
     // grab the source metadata and expression data
     var sourceJSON = sourcesJSON[index];
     var data = expressionJSON[index];
     // destroy the current heat map
     // CanvasXpress.destroy("canvasx"); ... this didn't work, so I tried:
     if (cx!=null) {
         cx.destroy(); // this also didn't help
     }
     // instantiate the new heat map - this only works on the first call
     cx = new CanvasXpress("canvasx", data, conf, evts);
 }

Custom color for every plotted point

I wonder if it is possible to assign a custom color (rgb) to each point in a plot (Scatter3D).

In this example, colors are set by the "Species", but I want to specify the color of every single point. Something like this:

   var data = {
        "y": {
            "colors": ["rgb(255,0,0)", "rgb(0,255,0)", "rgb(0,0,255)"],
            "vars": ["s1", "s2", "s3"],
            "smps": ["Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width"],
            "data": [[5.1, 3.5, 1.4, 0.2], [4.9, 3, 1.4, 0.2], [4.7, 3.2, 1.3, 0.2]]
        },
    }
    var conf = {
        "graphType": "Scatter3D",
        "axisTickFontSize": 13,
        "axisTickScaleFontFactor": 0.5,
        "axisTitleFontSize": 13,
        "axisTitleScaleFontFactor": 0.5,
        "codeType": "compact",
        "decorationFontSize": 19,
        "legendFontSize": 15,
        "maxRows": 6,
        "subtitleFontSize": 31,
        "title": "Iris Data Set",
        "titleFontSize": 33,
        "treeLinkColor": "rgb(150,150,150)",
        "xAxis": ["Sepal.Length"],
        "xAxisTicks": 10,
        "xAxisTitle": "Sepal.Length",
        "yAxis": ["Sepal.Width"],
        "yAxisTicks": 10,
        "yAxisTitle": "Sepal.Width",
        "zAxis": ["Petal.Length"],
        "zAxisTitle": "Petal.Length",
        "zoom": 0.7703019404190007
    };

Is there a solution to this? I looked through the documentation but could not find an answer...!

Best regards and many thanks,

Rendering is hanging up on call to canvasxpress.org

We've had some heatmaps hang up on calls like this:

https://canvasxpress.org/cgi-bin/services.pl?beacon=MTUzNDM0MjUwNTg0Njo6MTI1MTgyNjYxMTYyMjA3MTo6MjAuMTo6aHR0cHM6Ly9taW5lcy5sZWd1bWVpbmZvLm9yZy9sZWd1bWVtaW5lL2JhZ0RldGFpbHMuZG8/YmFnTmFtZT1HZW5lK2xpc3QrZm9yK2FsbCtvcmdhbmlzbXMrMTUrQXVnKzIwMTgrOC4xNCZ0cmFja0V4ZWN1dGlvbj1mYWxzZQ==

Is it necessary to make a call back to canvasxpress.org/cgi-bin/services.pl??? This adds an unknown and perhaps unreliable element to our web app. I thought that canvasXpress was a standalone Javascript app.

Zoom on both axis in 1-D charts

It would be great to be able to zoom based on both axis on 1D charts instead of just the numeric axis. Would help with visualization of dense categorical data. It is also intuitive to a user to be able to drag to zoom in both directions.

Questions about heatmaps in CanvasXpress

Hello,

I have some questions about CanvasXpress heatmaps:

  • Is there a way to reverse the heatmap graph (put the variables on the left and the samples at the bottom) by program without using the transpose() function?
  • Is there a way to highlight variables by program using their name or index? In fact I would like to higlight an entire part of a cluster.
  • Is it possible that when highliging a variable, the corresponding leaf in the dendrogram turns red like the label does?

If those features are not implemented yet, could you please consider including them to the next update?

Thank you.

Louis.

Plots not appearing in R Studio viewer

Hi, canvasxpress plots generated from the R studio console/scripts fail to initialize in the viewer as below (circles traveling around a zero). This issue seems to be specific to my current Windows OS install as its working on another PC. What would be the most likely environment issue to cause this?

If I click the "open in new window" button it successfully loads the plot in a browser window.

capture2

line graphs: horizontal line segments missing

An example, which had been working earlier in the past year...it is a stepping graph, so all of its lines are entirely vertical or horizontal. Only the vertical lines are being drawn.

This example also shows a different issue, namely small lines overtop the labels on the horizontal axis. This also was not like this earlier in the past year (with no changes to my code base, so I assume the changes is in CanvasXpress). Also the horizontal labels are being drawn bold faced, which seems wrong because I didn't specify that anywhere.

cx-canvasid 1

Is the website/email link still the way to get the new Javascript library?

I've noticed that a lot of the effort lately has been on the R package, but I'm still using and updating the good ol' Javascript library, which it seems must come from submitting the form on the website and getting the link which has fresh files behind it, to avoid the "R Version" watermark, or whatever it says. Is this still the way to get the JS and CSS files?

Color scheme issue with heatmaps

Hi neuhasi
I'm working with heatmap and I have a problem when I'm setting the color scheme. IMy data have extreme values as 0 and 100. I want to show them as dark blue and dark red, but the 100 value never gets dark red. I'm trying several configurations with the properties:

  • colorSpectrumBreaks
  • colorSpectrum
  • colorSpectrumNumber

But the color scheme seems to skip the last colors in the red scale zone. What I'm doing wrong?
cx-obj_0_
Thanks in advance

Doubts with scatterplots

Hi neuhasi
As I commented in a previous issue I need to ask you some questions about scatterplots. I have the following data:

| X1 | Y1 | X2 | Y2 |
|  1 | 10 |  2 | 12 |
|  3 | 15 |  4 | 20 |
|  5 | 17 |  2 | 22 |

If I have understood the scatterplot documentation I have to set the config attributes to:

"xAxis": ["X1"],
"yAxis": ["Y1", "Y2"],

Bus, it's possible to do this?

"xAxis": ["X1", "X2"],
"yAxis": ["Y1", "Y2"],

So X axis includes X1 and X2 points but X1 is related with Y1 and X2 with Y2.
Other problem comes when I use bubble scatterplot. The size of different points is very similar between them and I want to make it more different to reflect the magnitude that I'm plotting. I tried modifying the sizes attribute but I don't understand how it works in this chart.
By the way, the setMaxY attribute on sccaterplot and barplot can be applied on circular graphs in a concrete ring that use this chart type?
Thank you in advance
Pedro

Can canvasXpress support MSA/mismatches in genome browser?

I noticed that there is no documentation for showing mismatches in a manner similar to gaps. For example, multiple sequence alignments can be represented with gaps shown as dashes: -.
SNP positions can be shown as triangles, but in the case of MSA, it is unclear which sequence has the mismatch.

Changing the source data of heatmap

Hello neuhausi,

In your last answer you (issue 26), you said I could modify any property of the graph and then redraw it using cX.draw(). Can I use a similar method to change the source data of the heatmap? I used to remove all the elements from the DOM and create a new heatmap but after your last answer I tried the following:

cX.data = data; // my json data obect
cX.draw();

This works perfectly when the size of the dataset is the same size as the previous dataset but when It is bigger or smaller, it causes problems (with smpIndices and varIndices I guess).

Is there a method allowing to change the source data, or do you recommand another way of doing it?

Thank you in advance.

Doubts with circular graphs

Hi!
I'm using your great javascript library (not the R version) on my project and it's incredible how it makes easy to get charts with my data. I'm working on virus sequences and I have differents tracks of positional data. For this reason, I use your circular chart. I treat each nucleotide as a sample and I have obtained the attached image. I'm working with virus sequences about 3000-4000 nt so the rendering have a few issues. I suposse that this chart is designed to less samples (100-200) but is ideal for my work. Then I would like to make you some questions to adapt your chart to my case:

  • The outer black ring is the overlapped sample names ( in this case, my virus positions). I'm interested in use the smpLabelInterval property but it is not supported on circular charts. I tried removing samples names from my data but when I want to show the links between positions, the names are missing so the link it is not shown. There is another way to do this?
  • The image shows rendering artefacts as waves and stars if you look consecutive rings. There is a way to improves the rendering quality?
  • I would like to establish custom limits in barplot rings and heatmaps (in this case a common custom interval to all heatmaps will be useful to me). How can I do this?
  • I would like to show a color scale as you use on heatmaps charts. It is posible with circular charts?
  • The break length can be customised? It would be interesting in order to show correctly the ring labels.

The final image:
cx-obj_0_circular
I attach the json object of my chart:
cX-obj_0_Circular.json.zip

Thank you very much for your help in advance.
Pedro

Initial axis labels have tiny font; fixes itself with slight resize

I'm stumped on how to get my heatmap to initialize with the axis label font size that I want. I've attached the before and after: before a slight resize and after. The resize "restores" the fonts to the desired size, but the initial heatmap always shows the labels, and the heat map index, in a very tiny font/size. I still haven't figured out how to get the heatmap index to enlarge; it doesn't change with a resize, not that that's a solution, anyway.
heatmap-before-after-resizing

Heatmap error when hiding variables dendrogram

Hello,

I ran into a problem when a wanted to implement a checkbox that shows/hides variables dendrogram.

When I call the function showHideDendrogram("showVarDendrogram"), I get an error in a dialog box and both sample and variable dendrograms disapear.

You can reproduce this error on any example from the doc (like this one) by clicking Clusters -> Hide dendrogram (the variables one) in the "right-click menu".

I looked a bit at the code (version 15.5) and I think I located the problem, maybe it can help:

In function parseNewick, you check if we are dealing with variables like this:

if(e == "varDendrogram" && this.showVarDendrogram) {

and if not (else statement), you assume that we are dealing with samples, but in this case it is only the second condition (this.showVarDendrogram) that is false. So a bit further in the code, when you check this:

if(this[e].nodes.length != this.data.y.smps.length) {

in this particular case you are actually checking variables nodes length against smps length.

Data explore scrollbar

I've just updated with the latest version (6 days ago) and I found that there is not a scrollbar when I access to "Explore Data" or "View Table" views.

image

P.S: thank you for you're excellent work and your fast issues fixing attitude

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.