对于每个数据项,我添加一个组(g class ="parent"),其中包含一个圆圈.添加它们并设置它们的属性很好.
但我无法弄清楚如何处理删除.在退出时为嵌套对象设置动画的方法是什么?
// parents
var parents = svg.selectAll("parent").data(glyphs);
parents.enter()
.append("g")
.attr("class", "parent")
.attr("transform", function (glyph) {
return "translate(" + glyph.x + "," + glyph.y + ")";
});
// children
var circles = parents.append("circle");
circles
.attr("r", 0)
.attr("fill", function (glyph) { return glyph.color; });
// animated entry
circles.transition()
.attr("r", function (glyph) { return glyph.radius; });
Run Code Online (Sandbox Code Playgroud)
这是不起作用的部分.我不确定如何在退出时给孩子们制作动画.
// animate exit
circles
.exit() // <-- not valid
.transition()
.duration(250)
.attr("r", 0);
parents
.exit()
.transition()
.delay(250)
.remove();
Run Code Online (Sandbox Code Playgroud)
有人可以提供一些提示或指出一个很好的例子吗?
我不知道如何在子目录中使用 Rmd 文件制作一本书。
这是我当前的目录结构:
应该去什么_bookdown.yml和index.RMD做这项工作?
我有一个填充其他列名称的列.我想获取每个列名称中的值.
# three columns with values and one "key" column
library(dplyr)
data = data.frame(
x = runif(10),
y = runif(10),
z = runif(10),
key = sample(c('x', 'y', 'z'), 10, replace=TRUE)
)
# now get the value named in 'key'
data = data %>% mutate(value = VALUE_AT_COLUMN(key))
Run Code Online (Sandbox Code Playgroud)
我很确定答案与mutate的懒惰eval版本有关,但我不能为我的生活弄明白.
任何帮助,将不胜感激.
除了提及“实心”与“实心”外,我找不到任何文档。
library(graphics)
plot.new()
points(.48, .5, pch=19)
points(.52, .5, pch=16)
Run Code Online (Sandbox Code Playgroud)
编辑:温斯顿·张的解释很彻底地回答了我的问题https://github.com/hadley/ggplot2/issues/1757#issuecomment-247804365
我有一些代码在光标位置上方显示一个 SVG 项目。我注意到如果对象只是落后一帧,那么它比我预期的要落后于光标。
var width = 600,
height = 200;
var mouseLocation = [0,0];
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);
var cursor = svg.append('circle')
.attr("r", 2)
.attr("fill", 'darkblue');
// update mouse location
d3.select(window).on("mousemove", () => {
mouseLocation = d3.mouse(svg.node());
});
// show mouse
d3.timer(function() {
cursor.attr("transform", 'translate(' + mouseLocation + ')');
});Run Code Online (Sandbox Code Playgroud)
<script src="http://d3js.org/d3.v4.min.js"></script>Run Code Online (Sandbox Code Playgroud)
您可以通过将鼠标从一侧平滑地滑动到另一侧来查看延迟。蓝色圆圈稍微落后于光标。(至少在 Windows 上的 Chrome 57 上)
我尝试了几种变体,包括在 mousemove 回调函数中调用 circle.attr 。但总有一点延迟。
编辑我尝试失败的事情:
mousemove事件中设置光标变换mousemove调用以来经过的时间,仅每 16 毫秒更新一次。svg.style("shape-rendering", "optimizeSpeed");mousemove …我无法模拟如何stat_smooth计算其置信区间。
让我们生成一些数据和一个简单的模型:
library(tidyverse)
# sample data
df = tibble(
x = runif(10),
y = x + rnorm(10)*0.2
)
# simple linear model
model = lm(y ~ x, df)
Run Code Online (Sandbox Code Playgroud)
现在用于predict()生成值和置信区间
# predict
df$predicted = predict(
object = model,
newdata = df
)
# predict 95% confidence interval
df$CI = predict(
object = model,
newdata = df,
se.fit = TRUE
)$se.fit * qnorm(1 - (1-0.95)/2)
Run Code Online (Sandbox Code Playgroud)
请注意,qnorm 用于从标准误差扩展到 95% CI
绘制数据(黑点)、geom_smooth(黑线 + 灰带)和预测带(红线和蓝线)。
ggplot(df) +
aes(x = x, y …Run Code Online (Sandbox Code Playgroud) shell_exec并且exec不会返回任何内容.我无法弄清楚出了什么问题.
这是一些代码:
echo 'test: ';
$output = shell_exec('whoami');
var_export($output, TRUE);
echo PHP_EOL . '<br>' . PHP_EOL;
Run Code Online (Sandbox Code Playgroud)
这是输出的来源
test 2:
<br>
Run Code Online (Sandbox Code Playgroud)
我无法控制主机,但我相信他们正在运行SuPHP.根据phpinfo,safe_mode已关闭.whoami从SSH 运行输出预期值.
我不知所措.知道如何调试这个吗?
我在图的顶部有一个图例。我希望图例保持左对齐,并能够设置美学符号(彩色正方形)和文本之间的间距(1),以及文本和下一个美学符号之间的间距(2)。
library(tidyverse)
mtcars %>%
mutate(transmission = ifelse(am, "manual", "automatic")) %>%
ggplot() +
aes(x = transmission, fill = transmission) +
geom_bar() +
labs(fill = NULL) +
theme(
#legend.spacing.x = unit(.5, "char"), # adds spacing to the left too
legend.position = "top",
legend.justification = c(0,0),
legend.title=element_blank(),
legend.margin=margin(c(5,5,5,0)))
Run Code Online (Sandbox Code Playgroud)
我试图获得数据帧中每个子集的平均值,并将该信息合并到一列中.
我可以用lapply做到这一点,但我不能让它"坚持".是否存在具有副作用的应用函数族的变体?plyr库中的任何东西都可以.
data <- data.frame(
A = sample(LETTERS[1:3], 20, replace=TRUE),
B = runif(20),
C = LETTERS[1:20])
# split by A
dataByA <- split(data, factor(data$A))
# get average of B per set
lapply(dataByA, function(df) {df$Bmean <- mean(df$B)}) # does nothing!
# remerge subsets
data <- rbind.fill(dataByA)
Run Code Online (Sandbox Code Playgroud)
谢谢
我有一个 RStudio 项目,它使用 来管理包renv,效果很好。
但有时我想在我的主环境(正确的词?)上使用库来调试或探索一些我不想添加到项目中的东西。例如,也许我想运行一些长调试函数并beepr::beep()在最后调用。是否可以在不将beepr包安装到项目的情况下实现?
long_process()
beepr::beep() # How do I make this call?
Run Code Online (Sandbox Code Playgroud) 我有几个关于glTexParameter和过滤的问题
1)应用glTexParameter(特别是过滤)时的范围是什么?这是一个场景:
当我在着色器中使用纹理时,一个是线性的而另一个是最近的?或者它们都是最近的,因为它被称为最后?
2)是否可以在GLSL中设置过滤方法?
我想对每组变量a和b. 问题是nest()不包括模型所需的分组变量。
expand.grid(a = LETTERS[1:3], b = LETTERS[1:2], c=1:3, d=1:3) %>%
group_by(a, b) %>%
nest()
Run Code Online (Sandbox Code Playgroud)
将所得的表包括a和b在“外部”和c和d在嵌套tibble。如何将a和添加b到嵌套的 tibble 中?