我正在使用ggplot2 n R 3.2.3进行绘图,该模板已经成功使用了很长时间。我现在遇到与here和here(replacement has %d rows, data has %d
)中相同的错误。
与我以前使用的唯一区别是,我使用Jupyter Notebook的R内核进行绘图。
立即注释每行,将导致错误的原因减少到这些:
P1 <- ggplot(data=x, aes(x=Lf_per_tree, y=Section, fill=Section, col=Section)) +
geom_jitter() +
scale_fill_manual("", values=Colors) +
scale_color_manual("", values=Colors)
如果我删除了scale_color
函数,那么该图就可以正常工作,因此必须是那些。但是,由于我在模板中多次使用它们,因此我怀疑在x
中声明的data=
和Colors
中声明的scale_fill/color
之间可能有错。
head(x)
的外观如下:
Lf_per_tree Section
1 7 A
2 5 B
.....
Colors
的外观如下:
$A
[1] "black"
$B
[1] "#C4B3A2"
.....
图中的scale_color_manual
和scale_fill_manual
函数基本上采用aes()
(列“ Section”)中ggplot()
中声明的内容,并使用列出Colors
。
这一直到现在都有效,我不知道为什么。单凭感觉,this issue似乎很接近我,但我无法像他们在那里那样解决。
有人知道吗?
答案 0 :(得分:0)
发布给将来的读者
经过一番修补,我发现问题出在下面。
$dateTime = Carbon::parse('2019-03-30 17:34:50', 'Europe/London');
$testTime = '16:00:00';
list ($hour, $minute, $second) = explode(':', $testTime);
$nextTimeOccurrence = $dateTime
->copy() // Carbon 1 only
->hour($hour)->minute($minute)->second($second);
if ($dateTime->gt($nextTimeOccurrence)) {
$nextTimeOccurrence = $nextTimeOccurrence->addDay();
}
// $nextTimeOccurrence is the next occurrence of $testTime after $dateTime
函数不希望scale_color_
作为名称转换的输入,而是希望list()
。
如果有诸如我的颜色的列表,则必须character()
使其以正确的格式显示。