Browse code

reset the ylim when all values are the same

Zuguang Gu authored on 26/11/2021 14:28:45
Showing1 changed files

... ...
@@ -802,6 +802,7 @@ anno_points = function(x, which = c("column", "row"), border = TRUE, gp = gpar()
802 802
 	} else {
803 803
 		data_scale = ylim
804 804
 	}
805
+	if(data_scale[1] == data_scale[2]) data_scale[2] = data_scale[1] + 1
805 806
 	data_scale = data_scale + c(-extend, extend)*(data_scale[2] - data_scale[1])
806 807
 
807 808
 	value = x
... ...
@@ -1028,6 +1029,7 @@ anno_lines = function(x, which = c("column", "row"), border = TRUE, gp = gpar(),
1028 1029
 	} else {
1029 1030
 		data_scale = ylim
1030 1031
 	}
1032
+	if(data_scale[1] == data_scale[2]) data_scale[2] = data_scale[1] + 1
1031 1033
 	data_scale = data_scale + c(-extend, extend)*(data_scale[2] - data_scale[1])
1032 1034
 
1033 1035
 	value = x
... ...
@@ -1273,6 +1275,9 @@ anno_barplot = function(x, baseline = 0, which = c("column", "row"), border = TR
1273 1275
 	} else {
1274 1276
 		data_scale = range(rowSums(x, na.rm = TRUE), na.rm = TRUE)
1275 1277
 	}
1278
+
1279
+	if(data_scale[1] == data_scale[2]) data_scale[2] = data_scale[1] + 1
1280
+
1276 1281
 	if(!is.null(ylim)) data_scale = ylim
1277 1282
 	if(baseline == "min") {
1278 1283
 		data_scale = data_scale + c(0, extend)*(data_scale[2] - data_scale[1])
... ...
@@ -1585,6 +1590,7 @@ anno_boxplot = function(x, which = c("column", "row"), border = TRUE,
1585 1590
 	} else {
1586 1591
 		data_scale = ylim
1587 1592
 	}
1593
+	if(data_scale[1] == data_scale[2]) data_scale[2] = data_scale[1] + 1
1588 1594
 	data_scale = data_scale + c(-extend, extend)*(data_scale[2] - data_scale[1])
1589 1595
 
1590 1596
 	n = length(value)