diff --git a/R/spec_tools.R b/R/spec_tools.R
index f62f9e3..47e51d1 100644
--- a/R/spec_tools.R
+++ b/R/spec_tools.R
@@ -3,11 +3,19 @@
 #' @inheritParams viridisLite::viridis
 #' @param x continuous vectors of values
 #' @param na_color color code for NA values
+#' @param scale_from input range (vector of length two). If not given,
+#' is calculated from the range of x
 #' @export
 spec_color <- function(x, alpha = 1, begin = 0, end = 1,
                        direction = 1, option = "D",
-                       na_color = "#BBBBBB") {
-  x <- round(rescale(x, c(1, 256)))
+                       na_color = "#BBBBBB", scale_from = NA) {
+  if (is.na(scale_from)) {
+    x <- round(rescale(x, c(1, 256)))
+  } else {
+    x <- round(rescale(x, to = c(1, 256),
+                       from = scale_from))
+  }
+
   color_code <- viridisLite::viridis(256, alpha, begin, end, direction, option)[x]
   color_code[is.na(color_code)] <- na_color
   return(color_code)
@@ -45,9 +53,17 @@
 #' @param begin Smalles font size to be used. Default is 10.
 #' @param end Largest font size. Default is 20.
 #' @param na_font_size font size for NA values
+#' @param scale_from input range (vector of length two). If not given,
+#' is calculated from the range of x
 #' @export
-spec_font_size <- function(x, begin = 8, end = 16, na_font_size = 12) {
-  x <- round(rescale(x, c(begin, end)))
+spec_font_size <- function(x, begin = 8, end = 16, na_font_size = 12,
+                           scale_from = NA) {
+  if (is.na(scale_from)) {
+    x <- round(rescale(x, c(begin, end)))
+  } else {
+    x <- round(rescale(x, to = c(begin, end),
+                       from = scale_from))
+  }
   x[is.na(x)] <- na_font_size
   return(x)
 }
@@ -57,9 +73,16 @@
 #' @param x continuous vectors of values
 #' @param begin Smallest degree to rotate. Default is 0
 #' @param end Largest degree to rotate. Default is 359.
+#' @param scale_from input range (vector of length two). If not given,
+#' is calculated from the range of x
 #' @export
-spec_angle <- function(x, begin, end) {
-  x <- round(rescale(x, c(begin, end)))
+spec_angle <- function(x, begin, end, scale_from = NA) {
+  if (is.na(scale_from)) {
+    x <- round(rescale(x, c(begin, end)))
+  } else {
+    x <- round(rescale(x, to = c(begin, end),
+                       from = scale_from))
+  }
   x[is.na(x)] <- 0
   return(x)
 }
