标签: jitter

R:如何相对于x轴扩展(抖动)点?

我在R中有以下代码片段:

dat <- data.frame(cond = factor(rep("A",10)), 
                  rating = c(1,2,3,4,6,6,7,8,9,10))
ggplot(dat, aes(x=cond, y=rating)) +
  geom_boxplot() + 
  guides(fill=FALSE) +
  geom_point(aes(y=3)) +
  geom_point(aes(y=3)) +
  geom_point(aes(y=5))
Run Code Online (Sandbox Code Playgroud)

这个特定的代码片段产生一个箱形图,其中一个点越过另一个点(在上面的例子中,一个点3越过另一个点3).

如何移动点3以使点保持在y轴上的相同位置,但它在x轴上稍微向左或向右移动?

r ggplot2 jitter

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

带有position_stack的抖动文本/标签

请考虑以下data.frame和图表:

library(ggplot2)
library(scales)
df <- data.frame(L=rep(LETTERS[1:2],each=4),
                 l=rep(letters[1:4],2),
                 val=c(96.5,1,2,0.5,48,0.7,0.3,51))
#   L l  val
# 1 A a 96.5
# 2 A b  1.0
# 3 A c  2.0
# 4 A d  0.5
# 5 B a 48.0
# 6 B b  0.7
# 7 B c  0.3
# 8 B d 51.0

ggplot(df,aes(x=L,y=val,fill=l)) +
  geom_bar(stat="identity") +
  geom_text(aes(label=percent(val/100)),position=position_stack(vjust =0.5))
Run Code Online (Sandbox Code Playgroud)

plot1 由于值较小,某些标签难以阅读.我想垂直抖动它们.我知道position_jitter但它似乎与堆叠条形图兼容.

label r bar-chart ggplot2 jitter

12
推荐指数
2
解决办法
866
查看次数

如何在ggplot中确定抖动?

在制作一些情节时,我正在查看关于ggplot中抖动的文档,我意识到我并不真正理解这个论点.

它声明这些论点是:

Width: degree of jitter in x direction. Defaults to 40% of the resolution of the data.
height: degree of jitter in y direction. Defaults to 40% of the resolution of the data.

我的问题是,决议究竟是什么,以及如何确定?

此外,您可以覆盖它并提供一个值,如下面的示例中我们使用0.1:

geom_point(position = position_jitter(w = 0.1, h = 0.1))

什么单位属于0.1?我是否有权假设这一部分分辨率?

r data-visualization point ggplot2 jitter

10
推荐指数
1
解决办法
1067
查看次数

R:如何在ggplot2 linegraph中抖动geom_line和geom_point?

我有一个ggplot2线图,有两行显着重叠.我正在尝试使用position_jitterdodge()它们以使它们更加明显,但我无法以相同的方式获得线条和指向两者的抖动.我试图只是水平抖动点和线(因为我不想在y轴上建议任何变化).这是一个MWE:

## Create data frames
dimension <- factor(c("A", "B", "C", "D"))
df <- data.frame("dimension" = rep(dimension, 2),
                 "value" = c(20, 21, 34, 32,
                             20, 21, 36, 29),
                 "Time" = c(rep("First", 4), rep("Second", 4)))
## Plot it
ggplot(data = df, aes(x = dimension, y = value,
                      shape = Time, linetype = Time, group = Time)) +
    geom_line(position = position_jitterdodge(dodge.width = 0.45)) +
    geom_point(position = position_jitterdodge(dodge.width = 0.45)) +
    xlab("Dimension") + ylab("Value")
Run Code Online (Sandbox Code Playgroud)

哪个产生丑陋:

线/点不匹配

我显然在这里遇到了一些根本性的错误:我应该怎样做才能使geom_point抖动跟随geom_line抖动?

r ggplot2 jitter

10
推荐指数
3
解决办法
5237
查看次数

iOS游戏中的抖动不一致

我正在为Unity iOS开发一个非常简单的垂直滚动游戏.我的游戏正在经历不一致的抖动.我已经广泛搜索了网络,寻找没有任何运气的解决方案.我正在使用Unity版本5.3.4 f1.

游戏

游戏截图

  • 一个角色正在倒下.我们使用unity的角色控制器来移动角色Update()(Time.deltaTime正在成倍增加).
  • 相机跟随角色LateUpdate()(使用Vector3.Lerp()后跟).
  • 由于角色向下移动,障碍物似乎向上移动屏幕.
  • 场景中有1个方向光,设置为实时阴影.阴影质量高且硬阴影.
  • 场景中没有刚体.并且分析器中没有重大的峰值.
  • 我们有非常简单的几何体,很少有绘制调用/设置传递调用(平均7次传递调用).
  • 我们有恒定的60 fps.
  • 由于我们在iOS上运行vSync默认为On,因此无法禁用.

问题

  • 背景元素/障碍物(树木,岩石等)开始抖动没有明显的原因.这种行为是不一致的,有时候是紧张不安,有时却不是.
  • 即使它没有抖动,当用户通过触摸提供输入时,我们也会遇到小的口吃.

我们尝试了什么

  • 我们尝试的所有组合Update(),LateUpdate(),FixedUpdate(),Time.deltaTime Time.smoothDeltaTime线性插值,减少现场的几个立方体和删除所有对撞机和触发器.
  • 我们已经研究了以下线程:Link1,Link2,Link3和无数其他线程.
  • 最初我们的游戏以默认的30 fps运行.但经过一些研究后,似乎我们的问题是由于"帧速率"和"屏幕刷新率"之间的差异.(要了解此问题,请参阅以下链接).由于iOS设备具有60赫兹的刷新率,我们有我们的目标帧速率设置为60,我们的游戏保持恒定的60个FPS.
  • 将目标帧速率设置为60后,抖动有所改善,但现在不一致.

我完全没有想法.任何帮助或指针将受到高度赞赏.

提前致谢.

unity-game-engine ios jitter unity5

8
推荐指数
1
解决办法
795
查看次数

使用ggplot2将抖动应用于箱线图中的异常值数据

您是否知道如何将抖动应用于箱线图的异常数据?这是代码

ggplot(data = a, aes(x = "", y = a$V8)) +
geom_boxplot(outlier.size = 0.5)+
geom_point(data=a, aes(x="", y=a$V8[54]), colour="red", size=3) + 
theme_bw()+
coord_flip()
Run Code Online (Sandbox Code Playgroud)

谢谢!!

r ggplot2 boxplot jitter

8
推荐指数
2
解决办法
2685
查看次数

如何在seaborn stripplot中设置抖动种子?

我正在尝试准确地重现带状图,以便我可以可靠地绘制线条并在其上书写。然而,当我生成带有抖动的带状图时,抖动是随机的,并阻止我实现目标。

我盲目地尝试了rcParams在其他 Stack Overflow 帖子中找到的一些方法,例如mpl.rcParams['svg.hashsalt']没有起作用的方法。我也尝试设置种子但random.seed()没有成功。

我正在运行的代码如下所示。

import seaborn as sns
import matplotlib.pyplot as plt
import random

plt.figure(figsize=(14,9))

random.seed(123)

catagories = []
values = []

for i in range(0,200):
    n = random.randint(1,3)
    catagories.append(n)

for i in range(0,200):
    n = random.randint(1,100)
    values.append(n)

sns.stripplot(catagories, values, size=5)
plt.title('Random Jitter')
plt.xticks([0,1,2],[1,2,3])
plt.show()
Run Code Online (Sandbox Code Playgroud)

这段代码生成了一个stripplot就像我想要的那样。但是,如果您运行代码两次,由于抖动,您将得到不同的点位置。我正在制作的图表需要抖动才能看起来不荒谬,但我想在图表上写字。然而,在运行代码之前无法知道这些点的确切位置,并且每次运行代码时这些点都会发生变化。

有没有办法在seaborn中设置抖动种子,stripplots使它们完美再现?

python matplotlib random-seed seaborn jitter

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

自适应抖动缓冲器,无丢包

我关心的是自适应抖动缓冲器的设计,该缓冲器随着抖动计算的增加和减少而增加和减少容量。

我认为没有理由对延迟或容量进行任何调整,除非存在缓冲区不足,然后可能会出现超出容量的传入数据包突发(假设缓冲区容量首先等于缓冲区深度/延迟)。例如,如果我接收 20 毫秒的数据包,我可能会实现一个 100 毫秒深的缓冲区,因此具有容纳 5 个数据包的容量。如果数据包之间经过 160 毫秒,那么我可能会期望看到几乎同时有多达 8 个数据包进入。此时我有两个选择:

  1. 根据溢出规则丢弃其中三个数据包
  2. 不丢弃任何数据包并增加缓冲区容量和延迟

假设选择 2,并且网络状况改善并且数据包传送再次变得正常(抖动值下降)。怎么办?再说一遍,我想我有两个选择:

  1. 什么都不做,忍受增加的延迟
  2. 减少延迟(和容量)

使用自适应缓冲区,我认为我应该做出选择 4,但这似乎并不正确,因为它要求我人为/任意地丢弃在遇到较大抖动时选择选择 2 时专门保存的音频数据包。第一名。

在我看来,正确的做法是首先采取选择#1来维持延迟,同时丢弃数据包(如有必要),这些数据包由于抖动增加而延迟交付。

类似的情况可能是,在 160 毫秒的间隙后,我没有收到突发的 8 个数据包,而是只收到 5 个数据包(可能刚刚丢失了 3 个数据包)。在这种情况下,增加缓冲区容量并没有多大好处,但确实有助于减少以后溢出的可能性。但是,如果溢出的想法是要避免的(从网络端),那么我首先会将缓冲区容量设置为大于配置的“深度/延迟”的固定量。换句话说,如果溢出不是由于本地应用程序未能及时将数据包从缓冲区中取出而引起的,那么溢出只会因两个原因而发生:要么发送方撒谎并以比约定的速率更快的速率发送数据包(或从未来发送数据包),或者,数据包突发之间存在超出我的缓冲区深度的间隙。

显然,“自适应”缓冲区的全部意义在于识别后一种情况,增加缓冲区容量,并避免丢失任何数据包。但这让我直接面对上述问题:当网络抖动消除时,我如何“适应”回到理想设置,同时仍然执行相同的“不丢包”理念?

想法?

audio networking voip audio-streaming jitter

5
推荐指数
1
解决办法
2885
查看次数

基于值的 Geom_jitter 颜色

有没有办法根据数值为箱线图上的抖动点着色,例如:

ggplot(data, aes(y = y_var, x = x_var)) +
  geom_jitter(size = 2, aes(color = ifelse(y_var < 5, "red", "black)))
Run Code Online (Sandbox Code Playgroud)

我添加了这个可重现的示例,但不太有效(绘图上的颜色与抖动调用不对应):

a <- rnorm(100, mean = 5, sd = 1)
b <- as.factor(sample(0:1, 100, replace = TRUE))
test_data <- data.frame(cbind(a,b))
test_data$b <- as.factor(test_data$b)

ggplot(test_data, aes(y = a, x = b)) + 
  geom_boxplot()+
  geom_jitter(aes(color = ifelse(a < 5, "red", "black")))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r ggplot2 jitter

5
推荐指数
1
解决办法
8893
查看次数

如何控制添加到 R 中 x、y 空间点的噪声量?

R 用户相当新手,我确信有一个简单的解决方案 - 但我找不到它。我有一个包含一系列空间坐标以及许多其他属性的数据框。许多空间坐标是完全相同的 - 我想向它们添加一定量的噪声,以便我可以将它们保持在一定的半径内 - 在本例中为 0.4 米或 40 厘米,同时还跟踪它们相关属性。

我本质上是在寻找这个问题的R版本:https://gis.stackexchange.com/questions/35479/adding-noise-to-overlapping-xy-coordinates-so-no-longer-in-exact-same-地方

...因为当我按照使用 ArcGIS 回答这个问题的说明时 - 我得到了一系列随机点,但我丢失了与这些点关联的属性,并且我无法轻松找到一种方法来匹配它们。

有没有办法使用 R 中的抖动函数或类似的函数并指定空间上下文(例如 40 厘米)中的半径,空间坐标在该范围内随机分布?我不明白如何操纵因子和数量参数以获得我想要的输出。

编辑:

这是一个带有假坐标的 df 示例。正如您所看到的,第一列和第三列中的坐标是相同的,因为动物在同一块岩石下两次。我希望能够为这些坐标添加抖动,使它们略有不同,但我想将抖动控制在40厘米以内(不超过岩石的大小)

mydf <- data.frame("point_id" = 1:6, "date_time" = c("6/5/2018 10:57","6/5/2018 14:30","6/6/2018 10:06","6/6/2018 11:06","6/7/2018 10:35","6/7/2018 15:50"), "Animal_ID" = c(4,5,4,5,4,6), "Rock_ID" = c(1,2,1,3,4,5), x_proj = c(831120.3759,831441.0415,831120.3759,831433.4414,831128.4778,831422.0822), y_proj = c(5877582.998,5875337.074,5877582.998,5875328.897,5877575.360,5875338.216))

#make a separate object for the coordinates#
xy <- mydf[,c(5,6)]

#Convert to a spatialpoints data frame (insert own epsg)
sp.mydf <- SpatialPointsDataFrame(coords = xy, data …
Run Code Online (Sandbox Code Playgroud)

random r spatial coordinates jitter

5
推荐指数
1
解决办法
1456
查看次数