- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的数据集包含超过 500 次对不同地点的运动员进行的比赛事件的观察,并记录了一场足球比赛的持续时间。下面是我的数据集的一个示例,其中每个符号都代表一个匹配事件。例如,KE
是 Kick Effective,记录在 Defense
中的 1 分钟。
# Example data
df <- data.frame(Symbol = c('KE', 'TE', 'TE', 'TI',
'KE', 'KE', 'H', 'H',
'GS', 'KE', 'TE', 'H',
'KE', 'H', 'H', 'GS'),
Location = c('Defense', 'Defense', 'Midfield', 'Forward',
'Forward', 'Midfield', 'Midfield', 'Defense',
'Defense', 'Defense', 'Forward', 'Midfield',
'Midfield', 'Defense', 'Defense', 'Midfield'),
Time = c(1, 2, 3, 6,
15, 16, 16, 20,
22, 23, 26, 26,
27, 28, 28, 30))
我希望通过绘制 ggplot2
中每个位置随时间变化的匹配事件来可视化此数据。
# Load required package
require(ggplot2)
# Order factors for plotting
df$Location <- factor(df$Location, levels = c("Defense", "Midfield", "Forward"))
# Plot
ggplot(df, x = Time, y = Location) +
geom_text(data=df,
aes(x = Time, y = Location,
label = Symbol), size = 4) +
theme_classic()
但是,一些 geom_text
标签彼此重叠。我试过 jitter
但后来我失去了在足球场上发生事件的意义。不幸的是,check_overlap=TRUE
删除了所有重叠的符号。我希望符号保持相同的文本方向。
虽然符号是在它们出现时绘制的,但我很乐意稍微调整时间(意识到它们将不再完全对齐在绘图上)以确保 geom_text
符号可见。我可以通过向前或向后移动每个重叠事件的 Time
来手动执行此操作,但是对于如此大的数据集,这将花费很长时间。
一个建议是使用 ggrepel
我在下面做了这个,尽管它改变了 y 轴上的 geom_text
这不是我想要的。
library(ggrepel)
ggplot(df, x = Time, y = Location) +
geom_text_repel(aes(Time, Location, label = Symbol))
有没有一种方法可以检查重叠并自动调整符号,以确保它们可见并且仍然在 y 轴上保留意义?也许一种解决方案是找到每个 Location
,如果 Symbol
在同一 Location
中与另一个 Symbol
相距不到两分钟,则 Time
已调整。
如有任何帮助,我们将不胜感激。
最佳答案
我们可以添加点,然后使用具有最小行长度的 ggrepel
来点文本标签。
library(ggrepel) # ggrepel_0.6.5 ggplot2_2.2.1
ggplot(df, aes(x = Time, y = Location, label = Symbol)) +
geom_point() +
geom_text_repel(size = 4, min.segment.length = unit(0.1, "lines")) +
theme_classic()
或者我们可以尝试使用带有 "direction" 的开发版本争论。
ggplot(df, aes(x = Time, y = Location, label = Symbol)) +
geom_text_repel(size = 4, direction = "x") +
theme_classic()
关于r - 如何减少 geom_text 重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42949875/
我正在制作多个倾斜条形图的实例。由于计数的大小和百分比的差异不同,在某些情况下,其中一个标签(计数)的一部分被推到栏外。在所有情况下,我都需要标签完全位于栏内。如果不重新定位以适合栏内,我需要标签按原
所以我的散点图的一些标签重叠。我曾尝试将 direct.label 与方法“smart.grid”一起使用,但它不会产生适当的结果。这是我目前的图表: 生成它的代码: ggplot(d, aes(x=
我将 ggplot 与 facet_grid 一起使用,我想在每个方面指示每个方面的观察数量。我遵循许多网站上提供的示例,但是当我让它写任何东西时,它会在所有四个图上将所有四个观察数字都写在彼此之上。
我尝试添加文本,如 Position geom_text on dodged barplot 但它不适用于我的简单数据 data=data.frame(s=c(10,13,17,8),
我想调整条形图上的文本。 我尝试调整 hjust/vjust 以按我喜欢的方式显示,但它似乎无法正常工作。 ggplot(data) + geom_bar(aes(name, coun
我正在尝试复制以下代码( thomasp85/gganimate )。我有两个问题: 我不想显示第一个 geom_point 的标签(变量:partidos); 我希望动画结束后,最后一个 geom_
我正在尝试使用 ggplot 在 R 中绘制堆积条形图。我还想在该片段的每条条中包含百分比。我尝试关注帖子 1 , 2 , 3但这些值并不完全在各自的 block 中。我的数据是 dropbox 中的
我有一个使用 ggplot2 制作的条形图.我想使用 geom_text 为每个条添加标签使得标签的文本大小与标签相对应。为此,我使用了以下代码: a <- aggregate(mpg ~ vs +
在文本中插入数学符号不应该像我想象的那么复杂! OTH,甚至看起来相似的例子 ggplot2 facet_wrap with mathematical expression 我仍然无法将Ω(欧米茄)符
我希望仅在堆积条形图的顶部添加标签。 这是我的数据框: #create data frame building <- c("Burj \nKhalifa", "Zifeng \nTower", "Ba
这里我将 colorRed 设置为 TRUE 所以文本是红色的。但是当我将它设置为 FALSE 时,颜色仍然是红色。 如何根据 colorRed 的值设置文本颜色? library(ggplot2)
所以我正在使用 Twitter API 来收集与特定主题相关的信息,我正在可视化的事情之一是设备的流行程度。 到目前为止,我有这个: https://gyazo.com/441a9ab80b943f9
我正在绘制一个图,其中使用 geom_text 将 p 值绘制为文本。 pvalues 在文件 pvaluesmir21combined 中给出。 如果值 pvaluesmir21combined
我想使用 geom_text()(其中 ^ 表示上标)将“R^2 = 70%”添加到我的绘图中。 没有 % 符号,很简单: my.data <- data.frame(x=1:5, y=1:5) p1
希望这里有人能够帮助我解决我正在尝试解决的 ggplot 脚本问题。脚本会多次使用不同的数据,所以需要比较灵活。我几乎在我想要的地方得到了它,但我遇到了一个我无法解决的问题。 该脚本用于在右侧边距中为
我有一个用 GGplot2 制作的情节。现在,当我想更改图中文本点的大小时,文本的大小不会改变。我使用以下代码行: ggplot(data = out, aes(x = V2, y = V1)) +
我需要更改 geom_text() 中的数字格式包括逗号。 我已经看到了相关的问题,但我无法让这些解决方案发挥作用。我已经尝试过“sep =”一个,count/sum(count) 类型,以及我在不知
使用 mtcars ,我正在为 cyl 创建条形图并填写 gear .没有车 cyl==8 & gear==4 .绘制时,我使用了 position_dodge(preserve = "single"
我的问题 我想用一个表达式来注释 ggplot() 的每个方面,该表达式是统计测试产生的值的组合。我无法在 geom_text() 中解析字符串。 一个类似的问题被部分覆盖了here .不幸的是,我无
请考虑以下最小示例: library(ggplot2) library(ggrepel) ggplot(mtcars) + aes(x = mpg, y = qsec) + geom_line
我是一名优秀的程序员,十分优秀!