如果定义的颜色scale_fill_manual少于因子中的级别,则会ggplot2抱怨此错误消息:
# Basic definition of the plot
plot <- ggplot(s4r, aes(x=DIM, y=nbexpress, fill=DIM))
# Printing plot and options
plot + geom_bar(stat="identity", show_guide=FALSE) +
scale_fill_manual(values=c("#CC0000", "#006600", "#669999", "#00CCCC",
"#660099", "#CC0066", "#FF9999", "#FF9900")
Run Code Online (Sandbox Code Playgroud)
显示:
Error: Insufficient values in manual scale. 10 needed but only 8 provided.
Run Code Online (Sandbox Code Playgroud)
如何避免这个错误?这对我来说尤其重要,因为我在一个服务器上运行动态数据并且R嵌入在网站CMS中,并且当有一些错误的级别时不希望图形失败(这可能发生,直到我们更正了数据库).
到目前为止,我已经找到了一种解决方法(请参阅我的回答),但我想知道是否有更优雅的解决方案.
我目前正在使用ggplot2来比较来自不同组的统计数据,每个组都属于不同的区域.这是通过运行R脚本的Web应用程序(tikiwiki CMS +插件R)完成的.每个区域我可以有2到30个或更多组.同一个R脚本针对唯一网页中的所有数据运行,结果根据所选区域进行调整 - 作为页面的参数.
目前,我有这个:
region 1: 12 groups = 12 medium facets
region 2: 3 groups = 3 **HUGE** facets
region 3: 24 groups = 24 **TINY** facets
region 4: 16 groups = 16 medium facets
...
Run Code Online (Sandbox Code Playgroud)
2区

3区

2区

3区 保持不变
我正在使用facet_wrap(~data,ncol = 4)对每个组进行分析,所以我可以有2个或30个以上的方面.我的问题是输出:要么将30个刻面塞进一个小盒子中,要么将两个刻面尺寸放在相同尺寸的盒子中 - >参见上面的图片...我找不到如何修复比例(或图像输出)最大宽度)但保持最终图片大小免费.
是否可以在ggplot2/R中修复构面的默认大小,并使得到的图片的大小适应构面的数量?
如果在ggplot2/R中这是不可能的,那么是否有任何javascript/jquery库可以获取代码并正确显示结果(d3,...)?
我对R和来自电子表格背景的ggplot很新,我正在寻找在数据透视图中很容易做到的事情.我想根据另一列中给出的类别绘制给定列的值的总和.
我们举个例子:
element qty category
apples 2 Red
apples 1 Green
apples 4 Red
apples 3 Green
apples 6 Yellow
Run Code Online (Sandbox Code Playgroud)
我想要一个图表,根据他们的类别绘制所有苹果,而不是通过列类别中的计数,而是通过qty列中相应值的总和.
意思是6个红苹果4个绿色苹果和6个黄色苹果......有没有一些简短的方法可以直接在ggplot中完成这个或者我需要事先处理我的数据 - fi.与plyr?
很抱歉,如果这个问题是一个noob问题,但我找不到任何答案......
在R中,我有以下数据帧:
Name Category
1 Beans 1.12.5
2 Pears 5.7.9
3 Eggs 10.6.5
Run Code Online (Sandbox Code Playgroud)
我想要的是以下内容:
Name Cat1 Cat2 Cat3
1 Beans 1 12 5
2 Pears 5 7 9
3 Eggs 10 6 5
Run Code Online (Sandbox Code Playgroud)
理想情况下,在plyr中构建的一些表达式会很好......
我会调查我的一面,但搜索这个可能需要我很多时间,我只是想知道你们中有些人是否有一些提示来执行此操作......