我正在尝试在ggplot2中为色带着色.使用geom_ribbon时,我可以指定ymin和ymax以及填充颜色.它现在做的是着色ymin和ymax之间的所有内容,而不考虑上限或下限.
示例(从Internet修改):
library("ggplot2")
# Generate data (level2 == level1)
huron <- data.frame(year = 1875:1972, level = as.vector(LakeHuron), level2 = as.vector(LakeHuron))
# Change Level2
huron[1:50,2] <- huron[1:50,2]+100
huron[50:90,2] <- huron[50:90,2]-100
h <- ggplot(huron, aes(year))
h +
geom_ribbon(aes(ymin = level, ymax = level2), fill = "grey80") +
geom_line(aes(y = level)) + geom_line(aes(y=level2))
Run Code Online (Sandbox Code Playgroud)
我想用不同于(ymin <ymax)的颜色填充该区域,其中(ymin> ymax).在我的真实数据中,我有导出和导入值.在那里,我想为导出高于导入绿色的区域着色,其中导入大于导出我希望色带为红色.
替代方案:我希望geom_ribbon只填充ymax> ymin的区域.
有谁知道这是怎么做的?
谢谢你的帮助.
我正在尝试使用以下内容将一个交互式图形(保存为html文件)嵌入到reStructuredText文档中iframe:
.. raw:: html
<iframe src="filename.html" height="345px" width="100%"></iframe>
Run Code Online (Sandbox Code Playgroud)
html文件与我的.rst文件位于同一目录中,但图形不显示,我收到file could not be found错误.
但是,如果我将外部html文件粘贴到_build/html目录中,则图表显示正常.如何正确嵌入此html文件,以便在我自动嵌入图形时make html?
export_png()R ggvis 包中的函数要求我们vg2png从 node.js 模块安装程序vega。(来源:R 文档)
我在 Windows 上安装了 node 和 npm,然后运行了npm install vega.
这是我运行的输出npm install vega:
C:\Users\username>npm install -g trifacta/vega
\
> canvas@1.1.6 install C:\Users\username\AppData\Roaming\npm\node_modules\vega\node_modules\canvas
> node-gyp rebuild
|
C:\Users\username\AppData\Roaming\npm\node_modules\vega\node_modules\canvas>node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bi
n\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild
Node Commands
Syntax:
node {operator} [options] [arguments]
Parameters:
/? or /help - Display this help message.
list - List nodes or node history or the cluster
listcores - List cores on the cluster
view …Run Code Online (Sandbox Code Playgroud) 我有一个如下所示的数据框:
id date
1001 2012-10-11
1005 2013-02-20
1005 2012-11-21
1005 2014-03-14
1003 2013-10-25
1003 2013-11-30
Run Code Online (Sandbox Code Playgroud)
我需要为每一行找到自该ID最后一次出现以来经过的天数.对于上面的示例,答案如下所示:
id date no_of_days
1001 2012-10-11 NA
1005 2013-02-20 91
1005 2012-11-21 NA
1005 2014-03-14 387
1003 2013-10-25 NA
1003 2013-11-30 36
Run Code Online (Sandbox Code Playgroud)
一点点的搜索让我得到了一个新的列,其中包含通过在子组上应用函数生成的值(相当于Ststa的R bysort):
df$no_of_days<-with(df,ave(id,id,FUN=days_passed,na.rm=TRUE))
Run Code Online (Sandbox Code Playgroud)
但是,定义新函数days_passed证明是棘手的,因为我必须找到该uniqid的最后一次出现,然后相应地制定该函数.
我是R的新手,所以对此的任何帮助都将非常感激.