function onEdit(e) {
const all = e.source.getSheets();
var message;
try {
message = ["eh?", "bee", "see"].map(function (colName, i) {
return [
"Column '" + colName + "'",
"(index " + i + "):",
getTargetRowInColumn_(all[0], i)
].join(" ");
}).join("; ");
} catch (err) {
message = err.message;
}
e.source.toast(message, "Row of the next blank cell in first sheet", 60);
// Datestamp the next empty cell in column A of the first sheet.
var targetColumn = 1; // Column A
all[0].getRange(getTargetRowInColumn_(all[0], targetColumn - 1), targetColumn).setValue(new Date());
}
我想为此数据创建一个条形图,但是我需要图例中的色带渐变,并且颜色通常是从1到4的比例。恰好我的平均值是〜2。是我尝试过的代码:
values= c('Customers', 'Preparedness', 'Integrity', 'ContImprov', 'Teamwork', 'Employees', 'Community', 'Communications')
mean = c(2.714,2.800, 2.809, 2.084, 2.02, 2.39, 2.56, 2.48)
count = c(49, 20, 42, 59, 55, 63, 37, 47)
data = data.frame(Values = values, Mean = mean, Count = count)
我假设limit and breaks参数可以实现我想要的功能,但是它似乎并不影响我的输出。下面是我得到的图像。
更新
Henrik的建议是正确的,我应该使用scale_fill_gradient。
答案 0 :(得分:1)
正如@Henrik提到的fill != color
。因此,将scale_colour_gradient
更改为scale_fill_gradient
可以使您:
ggplot(data, aes(x = Values, y = count, fill = Mean)) +
geom_bar(stat = 'identity') +
theme(axis.text.x=element_text(angle=45, hjust=1)) +
guides(fill=guide_legend(title="Average Rank")) +
ylab("Responses") +
guides(limits = c(1,4),fill = guide_colorbar(reverse = TRUE)) +
scale_fill_gradient(limits = c(1,4), breaks=c(1,2,3,4))
我相信这是您想要的。您还可以通过low =
和high =
参数更改使用的颜色。