r gráfico de barras empilhado com cores representando valores

Estou procurando criar um gráfico de barras empilhado com cores representando valores de uma coluna de dados separada, além de adicionar uma barra de cores precisausando apenas os gráficos básicos em R. Há um outro post sobre isso, mas é bastante desorganizado e, no final, não me ajuda a responder à minha pergunta.

# create reproducible data
d <- read.csv(text='Day,Location,Length,Amount
            1,4,3,1.1
            1,3,1,.32
            1,2,3,2.3
            1,1,3,1.1
            2,0,0,0
            3,3,3,1.8
            3,2,1,3.54
            3,1,3,1.1',header=T)

# colors will be based on values in the Amount column
v1 <- d$Amount
# make some colors based on Amount - normalized
z <- v1/max(v1)*1000
colrs <- colorRampPalette(c('lightblue','blue','black'))(1000)[z]

# create a 2d table of the data needed for plotting
tab <- xtabs(Length ~ Location + Day, d)
# create a stacked bar plot
barplot(tab,col=colrs,space=0)

# create a color bar
plotr::color.bar

Isso com certeza produz um gráfico de barras empilhadas com código de cores, mas as cores não representam os dados com precisão.

Para o dia 1, os locais 4 e 1 devem ter a mesma cor. Outro exemplo, a primeira e a última entrada na coluna Valor são idênticas, mas a cor da parte superior da coluna esquerda não corresponde à parte inferior da coluna direita.

Além disso, descobri como fazer uma barra de cores em um post diferente e ele usa oplotr::color.bar código, masplotr aparentemente não é um pacote e não tenho certeza de como continuar.

Como posso obter as cores correspondentes à seção apropriada e adicionar uma barra de cores precisa?

questionAnswers(3)

yourAnswerToTheQuestion