forked from talgalili/heatmaply
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
565 lines (414 loc) · 21 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
heatmaply 1.3.0 (2021-10-09)
===============
## NEW FEATURE
- ggheatmap now accepts `hide_colorbar` argument. Also, when `row_dend_left`
is set to `TRUE`, the subplot widths are correctly reversed. (Credit jaehyunjoo,
PR #273)
## BUGFIX
- Fix bug with handling of point size matrix in plotly
See github issue #266
## OTHER NOTES
- Changed order of hovertext when plot_method="plotly" to match ggplot equivalent
- update startup message to include stackoverflow.
- add github actions (GHA)
- minor fixes to doc so to release to CRAN.
heatmaply 1.2.1 (2021-02-02)
===============
## BUGFIX
- heatmaply wasn't printing properly in rmarkdown. Reverted back the new print method, and now it's working fine (but we get back the warning message from issue #226: https://github.com/talgalili/heatmaply/issues/226 )
- added warning = FALSE to vignette, to make it cleaner.
heatmaply 1.2.0 (2021-01-29)
===============
## BUGFIX
- Fix incorrect use of distfun_row and hclustfun_row #254
- remove d3heatmap links from Rd
- fix issue #226 by creting print.heatmaply function to enable us to supresswarning. This is a hack, and if https://github.com/talgalili/heatmaply/issues/226 will get resolved - then this should probably be reverted.
### OTHER NOTES
- Update README to include information how to port d3heatmap functions
- vignette: eval=F for some examples (so to reduce file size)
heatmaply 1.1.1 (2020-08-24)
===============
## BUGFIX
- Cellnote did not work when using point size mapping.
- `point_size_mat` did not work when `plot_method="plotly"`
- RowSideColors/ColSideColors used default colour mapping
- showticklabels did not function as expected for ggheatmap.
- showticklabels did not function as expected when of length 1.
- Remove "\link[d3heatmap]{d3heatmap}" from .Rd since d3heatmap was removed from CRAN
- Fix "Found the following (possibly) invalid URLs:"
heatmaply 1.1.0 (2020-03-27)
===============
## NEW FEATURE
* heatmaply
- Add dendrogram_layers argument to allow users to arbitrarily customise
dendrograms using ggplot2 themes/scales etc before conversion to plotly
objects.
- Add colorbar_thickness argument to control colorbar width/thickness.
Only effective when plot_method="plotly"
## BUGFIX
- heatmaply
- Correctly hide dendrogram axes when plot_method="plotly"
- Make behaviour match docs for custom_hovertext when plot_method="plotly" (#231)
### OTHER NOTES
- Improve the README with link to stackoverflow.
- Updated pkgdown
heatmaply 1.0.0 (2019-12-05)
===============
## NEW FEATURES
* heatmaply
- The argument show_dendrogram controls whether to display the row and
column dendrograms. This allows the user to display a clustered heatmap
without displaying the dendrograms used to cluster the data.
- Setting hclust_method=NA uses dendextend::find_dend to find the "optimal"
dendrogram. For details see `?find_dend`
- Updated the vignettes with better code examples, larger figure sizes,
and new features.
- Add the sidecolor_colorbar_len argument to control the size of the side
color plot legend when `plot_method = "plotly"`
## BUGFIXES
* heatmaply
- Legends are no longer shown for the row/column dendrogram traces when
plot_method = "ggplot".
- cellnote would be placed outwith the heatmap when plot_method = "ggplot"
- showticklabels applies when row_dend_left=TRUE and plot_method="plotly"
- fontsize_row and fontsize_col apply to side colour plots as well
as the main plot axes.
- cellnote did not work properly in some cases.
- grid_gap now works for side colour plots with plot_method="plotly".
- Fixed a few canonical URL issues in the vignette
### OTHER NOTES
- Started using pkgdown :)
heatmaply 0.16.0 (2019-05-10)
===============
## NEW FEATURES
* heatmaply
- The boolean argument dend_hoverinfo can control whether hoverinfo is shown
for the row and column dendrograms.
## BUGFIXES
* heatmaply
- Supplying label_names could cause incorrect orientation of side colors
- Using plot_method="plotly" could cause incorrect interpretation of colour
strings.
- custom_hovertext did not work when plot_method="plotly"
- Remove collaborate option internally (would cause warnings to be issued)
## NOTES
* heatmaply
- Use `plotly::orca` for saving to file, rather than `plotly::export`
* Alan O'Callaghan is now recognized in the DESCRIPTION as a co-author of the package, in recognition to his significant (continuous) contribution to the package and the community. Thanks for everything Alan!
heatmaply 0.15.2 (2018-07-06)
===============
## BUGFIXES
* heatmaply
- labels did not show (only numbers)
heatmaply 0.15.0 (2018-06-23)
===============
## NEW FEATURES
* heatmaply
- Side colour plot legends will now have the title of the column when there is only one column used.
## BUGFIXES
* heatmaply
- heatmaply would scramble rownames when manually supplied via labrow or labcol
- Minor bugfixes relating to the use of the `node_size_mat` argument.
- handle cases with row/col names are not all unique. fix #155
- resolve some test errors.
heatmaply 0.14.1 (2018-02-01)
================
### BUGFIXES
* heatmaply
- hover text didn't show sometimes.
- If `custom_hovertext` is not a matrix - it is turned into a matrix (important if inserting a data.frame). Fix issue #151
heatmaply 0.14.0 (2018-01-20)
================
### NEW FEATURES
* heatmaply
- Add `custom_hovertext` argument, adding custom hovertext option
- Add `label_format_fun` argument, which formats text before adding to
hovertext
- Row and column annotation legends are now ordered according to factor
levels, or by default, are sorted (the previous default behavior).
- Add `node_type argument, which allows users to plot the heatmap with
discs rather than squares. See also the `point_size_mat` argument.
- Add `point_size_mat` argument, which is mapped to point size when
`node_type="scatter"`. Also adds `point_size_name` argument, which is the
name of this parameter in the heatmap hovertext.
### BUGFIXES
* heatmaply
- Fixed a bug where column/row annotation
legend labels would overlap when only two levels were present.
### NOTES
* Using stylr to improve the readability of the R code.
* Using devtools::spell_check() to spell check the doc.
heatmaply 0.13.0 (2017-11-11)
================
### NEW FEATURES
* heatmaply
- Add File size arguments (#114) - width / height
- Allows use of Pearson, Spearman or Kendall correlation
coefficient as a distance measure, by specifying
`distfun="pearson"`, `distfun="spearman"` or `distfun="kendall"`.
This corresponds to the use of `distfun=function(x) as.dist(1 - cor(x)))`.
### BUG FIXES
* heatmaply
- Scale before clustering #112 (fixes: Allow the dendrogram to use scaled data #111 )
- stops heatmaply from crashing when using RGui (#121)
- draw_cellnote = TRUE fails for matrix with NA (#123)
heatmaply 0.12.1 (2017-10-25)
================
### BUG FIXES
* heatmaply
- removing tick labels with `showticklabels` now removes the ticks as
well as the tick labels.
- Prevent grid_gap warning (#105)
- Add `cellnote_size` argument, controlling the font size of the cellnote.
* ggplot_heatmap
- now handles data.frame input
### NOTES
* Added citation to the bioinformatics article! (http://dx.doi.org/10.1093/bioinformatics/btx657)
heatmaply 0.11.1 (2017-09-27)
================
### NEW FEATURES
* heatmaply
- `side_color_layers` argument, which allows the user to pass in ggplot functions which will be
added to the side color plots.
- `row_side_palette` and `col_side_palette` can now be named vectors of
colors.
- Improved test coverage.
- Side color plots have better defaults colors, courtesy of RColorBrewer's qualitative color palettes.
- file argument can now work with static file extensions such as png/jpeg/pdf (thanks to the webshot package). It is also now vectorized, allowing to pass things like: heatmaply(x, file = c("heatmaply_plot.html", "heatmaply_plot.png"))
- added labRow, labCol - to stay backward compatible with gplots::heatmap.2
### BUG FIXES
* heatmaply
- Improved side color plots when `plot_method = "plotly"`, including improved positioning of legends.
- grid_gap works when `plot_method = "plotly"`
- file argument will now deal with names that includes folder names before the file name.
- `heatmaply.heatmapr()` previously ignored `row_side_colors` and `col_side_colors` when passed to `heatmapr()` (issue #94)
- Fix the scale of cexRow/cexCol to that of fontsize_row/col
heatmaply 0.10.1 (2017-05-27)
==============================
### NEW FUNCTIONS
* cool_warm - a new divergent color pallette (from blue to red) based on Kenneth Moreland's proposal in (Diverging color maps for scientific visualization." Advances in Visual Computing (2009)), provided by the user YAK in (http://stackoverflow.com/a/44073011/256662), and which relies on code from the Rgnuplot package.
### NEW FEATURES
* heatmaply
- Add "auto" cellnote colouring, which predicts the luminosity of cells and switches between black and white text as appropriate, for readability
- Add `cellnote_textposition` argument, which controls the justification of cellnote within a cell.
See [the plotly documentation](https://plotly.com/javascript/reference/#scatter-textposition) for more details.
- dendrogram parameter can now accept TRUE/FALSE as synonyms for "both"/"none".
- showticklabels = c(TRUE, TRUE) - a 2d parameter to allow turning off of tick labels in the rows/columns - thus making the rendering of the plot much faster for larger matrix.
* heatmaply_cor now uses cool_warm instead of RdBu.
* Added a warning for when not using the latest ggplot version.
### BUG FIXES
* heatmaply
- `cellnote` would previously not work with character matrices. This is now fixed.
- heatmaply would formerly ignore colour functions when plot_method = "plotly"
heatmaply 0.9.2 (2017-05-05)
==============================
### BUG FIXES
* `heatmaply`
* Fix subplot_width/subplot_height
heatmaply 0.9.1 (2017-04-14)
==============================
This release adds unit testing and code coverage to the heatmaply package.
Users should not be affected, but this will hopefully accelerate development
and reduce the occurrence of bugs.
### NEW FUNCTIONS
* heatmaply_na, heatmaply_cor - wrappers for heatmaply for exploring missing values patterns, and for correlation matrix.
### NEW FEATURES
* `heatmaply` -
* Use slightly more sensible default for heights (in line with widths in any case),
and add `subplot_widths` and `subplot_heights` arguments for user customisation.
* `plot_method` argument ("plotly" or "ggplot") which controls the underlying
plot method used for dendrograms and the main heatmap.
Currently there is some disparity between the features
available in both methods but it is hoped this can be addressed.
plotly will likely give higher performance for large matrices.
* Row names of matrix are now shown when `plot_method = "plotly".
This functionality should also be added to the function when
`plot_method = "ggplot"`, once changes are made to the plotly R package.
* Add `colorbar_len` argument, which controls the fraction of the total height
which the colorbar/color legend will take up.
* Add colorbar_xpos, colorbar_ypos, to change the x and y position
of the colorbar, in case the defaults are not suitable.
* Add `colorbar_xanchor`, `colorbar_yanchor` arguments which control
the anchoring points of the colorbar, relative to which the x and y position
is applied ("left", "middle" and "right" for `colorbar_xanchor`,
and "top", "middle" or "bottom" for `colorbar_yanchor`).
* Allow for colorbar and side color legends to be displayed simultaneously
when `plot_method = "plotly"`
* Add `long_data` argumnet, which allows the user to use data in "long"
format (eg, http://www.theanalysisfactor.com/wide-and-long-data/).
* Add `label_names` argument, which allows the user to specify names to
replace "row" and "column" as the names of the mouseover co-ordinates.
* Add "cellnote" functionality, allowing the display of text overlaid
on the cells of the heatmap. Controlled by the `draw_cellnote` argument.
Cellnote color can be controlled by the `cellnote_color` argument.
It is hoped that with future versions of plotly, an outline can be added,
in order to make text readable on any background.
* Add `fontsize_row` and `fontsize_col` arguments to heatmaply,
which control font size for row and column labels. `cexRow` and `cexCol` are
aliases (in order to keep compatability with gplots::heatmap.2).
* Add `grid_gap` argument. Default is 0, higher numbers influence the gap between cells,
helping the user to identify distinct values/cells within the matrix.
* `heatmapr`
* Removed some unused arguments and code.
* `is.plotly` - new function to check if an object is of class plotly or not.
### BUG FIXES
* `heatmaply`
* Fix the `cexRow` and `cexCol` arguments, which were previously non-functional.
* Fix a mistake in an object's check in ggplot_heatmap. Props to Hannes Becker
(https://twitter.com/SportsTribution/status/846764290484944896).
The following no longer crashes heatmaply:
library(heatmaply)
df <- data.frame(1)
heatmaply(mtcars)
* Make sure limits work when NA are present.
* Fix the error: "argument * matches multiple formal arguments" by adding
an explicit "col" argument to heatmaply.
### DOCS
* heatmaply
* Added scale and na.rm arguments to the document.
* Added seriate.
* Cross-ref percentize and normalize.
* Vignette
* Re-organize sections
* Adding a section on data transformation.
* Fixing typos
heatmaply 0.8.2 (2017-03-20)
==============================
### BUG FIXES
* Remove temp files.
* Fix missing import and two typos.
heatmaply 0.8.0 (2017-03-18)
==============================
### NEW FEATURES
* heatmaply -
* file parameter - allows to save a heatmaply plot as an HTML file.
* Allow Rowv/Colv to also work for hclust (by turning them into a dendrogram).
* Add examples to heatmaply's Rd and the vignette on using Rowv/Colv.
* Added the parameters hclust_method, dist_method to allow a more refined control over dist and hclust functions which are creating the dendrograms. A user wanting an even more refined control should just supply dendrograms directly to Rowv and Colv.
* Added the parameters: distfun_row, hclustfun_row, distfun_col, hclustfun_col. They allow a more refine control over the dendrograms of the rows/columns (without the user needing to create the dendrograms from scratch)
* clean the modeBarButtons from irrelevent icons
* RColorBrewer_colors - added colors to be available for the heatmap.
The sequential palettes names are (less important since we have viridis): Blues BuGn BuPu GnBu Greens Greys Oranges OrRd PuBu PuBuGn PuRd Purples RdPu Reds YlGn YlGnBu YlOrBr YlOrRd
The diverging palettes are: BrBG PiYG PRGn PuOr RdBu RdGy RdYlBu RdYlGn Spectral
### BUG FIXES
* heatmaply -
* make row_side_colors/col_side_colors work for vectors as well (by turning them to a data.frame). Fixes: Error in if (dim(row_side_colors)[1] != dim(x)[1]) stop("row_side_colors and x have different numbers of rows") : argument is of length zero
heatmaply 0.7.0 (2017-01-21)
==============================
### NEW FEATURES
* heatmaply -
* Non numeric columns are now added to `row_side_colors`, making heatmaply reasonably robust to heterogeneous data.frames.
* main - a new parameter for setting the title of the plot.
* the margins parameter now accepts 4 elements (previously it was only 2), for bottom, left, top (relevant for the plot's title) and right margins.
* heatmapr -
* Allow k_row and k_col to accept NA. This will pick the number of clusters using dendextend::find_k
### NEW FUNCTIONS
* percentize - a pre-processing function for performing the Empirical Percentile Transformation on a vector or data.frame.
* normalize - a pre-processing function for adjusing the range of the variables to be from 0 to 1.
* is.na10 - Indicates which elements are missing (either 1 and 0)
heatmaply 0.6.1 (2016-11-11)
==============================
### BUG FIXES
* Allow dendrogram parameter to work again.
heatmaply 0.6.0 (2016-11-05)
==============================
### NEW FEATURES
* heatmaply -
* added `row_side_colors` to allow non-numeric values in the sidebar of the
heatmap, similar to RowSideColors in gplots::heatmap.2 (`RowSideColors` also
works in heatmaply). Props goes to Alanocallaghan for his work on this.
* added a proper `margins` parameter.
* grid_color now works (thanks to a hack of using geom_hline and
geom_vline instead of heom_tile(..., color) in ggplot_heatmap )
* added branches_lwd - to control the width of the dendrograms' width.
heatmaply 0.5.0 (2016-08-04)
==============================
### NEW FEATURES
* is.heatmapr
* ggheatmap - first try. (not working well enough yet. The proportions of the elements are not good)
* heatmaply
* key.title - a parameter to control the main title of the color key. (feature request by John Rizk)
heatmaply 0.4.0 (2016-07-15)
==============================
### NEW FEATURES
* heatmaply
* grid_color - control the color of the heatmap grid. This is currently not working until this feature will be added by plotly.
* hover over dendrogram now returns the height.
* colors can now also accept a function (and will use it to produce 256 colors)
* heatmapr
* seriate - character indicating the method of matrix sorting (default: "OLO"). This uses the seriation package.
* srtRow, srtCol - add legacy support for these parameters (they are passed to row_text_angle and column_text_angle)
* hide_colorbar - controls if the color bar should be hidden.
* xlab, ylab - add titles to the x and y axis.
heatmaply 0.3.2 (2016-05-26)
==============================
### ANNOUNCMENTS
* heatmaply 0.3.2 - first CRAN release!
### BUG FIXES
* http -> https
heatmaply 0.3.1 (2016-05-26)
==============================
### BUG FIXES
* fix minor typos.
heatmaply 0.3.0 (2016-05-25)
==============================
### NEW FEATURES
* heatmaply
* Now works with Rowv=F and Colv=F (by introducing a new un-exported function: heatmap_subplot_from_ggplotly)
* Remove space between the heatmap and dendrograms (via: coord_cartesian(expand = FALSE) and coord_flip(expand = FALSE))
* Added the margin parameter (to control the distance between the heatmap and the dendrograms.)
* Added row_text_angle and column_text_angle (with srtRow and srtCol for backward compatibility with gplots::heatmap.2). Fix #3
### BUG FIXES
* fix #2 : Error: Don't know how to add scale_fill_gradient_fun to a plot
by moving "scale_fill_gradient_fun" after "..." (I may change this parameter's name later)
### VIGNETTE
* heatmaply now has a basic vignette.
heatmaply 0.2.1 (2016-05-23)
==============================
### BUG FIXES
* fix various import issues that caused warnings with devtools::check()
heatmaply 0.2.0 (2016-05-23)
==============================
### NEW FEATURES
* More control over colors in heatmaply via the new parameters: colours, limits, na.value, and scale_colour_gradient_fun.
* first attempts at row_dend_left (although this is not yet working.)
### BUG FIXES
* dendrograms are now presented without axes text.
* passing scale (= "row" or "column") works again.
heatmaply 0.1.0 (2016-05-14)
==============================
* First (very rough) version. It has a minimal working example, as well as MANY things to fix/tweak/adjust.
TODO:
==============================
* remove unneeded code from d3heatmap
* add many options for controlling the heatmap "as it should be"
* implement all relevant options streight to heatmaply.
* Expose widths and heights from heatmap_subplot_from_ggplotly to heatmaply
* write example for using seriation+dendextend for heatmaps.
* Show the following example for using seriation:
require(seriation)
require(dendextend)
# "GW", "OLO"
d <- dist(USArrests[1:15,])
dend <- as.dendrogram(hclust(d, method = "ave"))
par(mfrow = c(1,2))
plot(dend, main = "default")
# seriate(cophenetic(dend), method = "OLO", control = list(hclust = as.hclust(dend)))
# the downside in using cophenetic is that seriate has to go through running hclust all over again
# but we'll just have to accept it...
o <- seriate(d, method = "GW", control = list(hclust = as.hclust(dend)) )
get_order(o)
labels(cophenetic(dend))[get_order(o)]
d2 <- rotate(dend, order = rev(labels(d)[get_order(o)]))
plot(d2, main = "GW")
o <- seriate(d, method = "OLO", control = list(hclust = as.hclust(dend)) )
d3 <- rotate(dend, order = rev(labels(d)[get_order(o)]))
require(heatmaply)
heatmaply(USArrests[1:15,], Rowv = d2)
heatmaply(USArrests[1:15,], Rowv = d3)
heatmaply(USArrests[1:15,], Rowv = dend)
hmap(USArrests[1:15,])
identical(seriate(d, method = "OLO"),
seriate(d, method = "OLO", control = list(hclust = as.hclust(dend)) ))
get_order(seriate(d, method = "OLO"))
get_order(seriate(d, method = "OLO", control = list(hclust = hclust(d, method = "sing")) )) # this works :)