我无法使用ggplot2直方图获取连续变量来处理scale_fill_gradient . (我有办法将变量转换为factor并使用scale_fill_manual并手动设置它们,因此我知道我的库和一般ggplot结构是正确的 . 这是我的第一个例子 . )我已根据帮助文本做了所有事情但是在第二个例子中,它似乎根本没有认出我的填充物 .

> str(data)

'data.frame':   506 obs. of  9 variables:
 $ value_A              : int  250000 219000 358000 340000 364000 295000 
 $ factor_B             : Factor w/ 6 levels "4","5","6","7",..: 4 3 4 4 4 3 
 $ numeric_C             : num  15.3 17.8 17.8 18.7 18

这工作正常(它是一个因子变量):

ggplot(data, aes(value, fill = factor_B)) +
  geom_histogram(binwidth = 30000) +  ...
  scale_fill_manual(values = ("#9db5bf", "#85a3b0","#6c90a0","#547e90", "#3b6b80","#235970"))

这不起作用,它填充灰色的条形图,也没有任何类型的图例:(这是在数字变量上)

ggplot(data, aes(value, fill = numeric_C)) +
  geom_histogram(binwidth = 30000)  + ...
  scale_fill_gradient("some Ratio", low = "#9db5bf", high = "#235970")