小编Joe*_*l.O的帖子

ggplot2错误:手动秤中的值不足

如果定义的颜色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中,并且当有一些错误的级别时不希望图形失败(这可能发生,直到我们更正了数据库).

到目前为止,我已经找到了一种解决方法(请参阅我的回答),但我想知道是否有更优雅的解决方案.

r ggplot2

9
推荐指数
2
解决办法
3万
查看次数

R ggplot2 facetting保持比例但覆盖/定义输出图尺寸

我目前正在使用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 ggplot2

6
推荐指数
1
解决办法
1144
查看次数

根据另一列中的数据绘制一列中的值的总和

我对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 ggplot2

2
推荐指数
1
解决办法
7984
查看次数

通过正则表达式在由"."分隔的字符上拆分数据框列.

在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中构建的一些表达式会很好......

我会调查我的一面,但搜索这个可能需要我很多时间,我只是想知道你们中有些人是否有一些提示来执行此操作......

regex r plyr

2
推荐指数
1
解决办法
186
查看次数

标签 统计

r ×4

ggplot2 ×3

plyr ×1

regex ×1