- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找一种使用 ggplot()
创建线条的方法具有“尖”边缘,以获得“牙签”的整体外观。
例如,考虑以下可视化:
library(tibble)
library(ggplot2)
my_df <-
tribble(~name, ~value,
"a", 1,
"a", 2,
"b", 1,
"b", 2)
my_df %>%
ggplot(aes(x = name, y = value)) +
geom_line(size = 1.5, lineend = "round") +
expand_limits(y = c(0.5, 2.5)) +
theme_bw()
y_top <- 1.75
y_bottom <- 1.25
作为线条开始“锐化”的值。
geom_lines()
的
lineend
论点不支持我正在寻找的“重点”。
最佳答案
一种方法是使用 ggforce
包访问一些“补间”几何体,它们的外观沿其长度变化,例如 geom_link2
.在这里,我做了一些准备工作,为每个名称添加距离极端值 0.25 英寸的观察值,并根据我们是否处于极端值来分配宽度。
library(tidyverse); library(ggforce)
my_df %>%
group_by(name) %>%
summarize(min_val = min(value), max_val = max(value)) %>%
mutate(min_taper = min_val + 0.25, max_taper = max_val - 0.25) %>%
pivot_longer(-name, names_to = "step") %>%
mutate(width = if_else(str_detect(step, "val"), 0, 1)) %>%
arrange(name, value) %>%
#Here's what it looks like at this point:
## A tibble: 8 x 4
# name step value width
# <chr> <chr> <dbl> <dbl>
#1 a min_val 1 0
#2 a min_taper 1.25 1
#3 a max_taper 1.75 1
#4 a max_val 2 0
#5 b min_val 1 0
#6 b min_taper 1.25 1
#7 b max_taper 1.75 1
#8 b max_val 2 0
# now that it's prepped, it's a short call in ggplot2/ggforce:
ggplot(aes(name, value, size = width)) +
ggforce::geom_link2() +
scale_size_continuous(range = c(0,0.6)) + # controls width range of lines
theme_bw()
关于r - 在 ggplot 中,如何创建带有尖边(如 "toothpicks")的线条可视化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68474591/
假设我有一个模块,其中一个绑定(bind)依赖于另一个: class MyModule : Module(){ init { bind(SettingsStorage::class.jav
尝试在 fragment 中使用 Toothpick DI 时出现奇怪的错误: toothpick.registries.NoFactoryFoundException: No factory cou
我开始使用 Toothpick,我需要从 Dagger 代码迁移到 Toothpick。 好吧,我的 Dagger 项目中有下一个字符串。 @Provides @Singleton @
假设我有作用域 S1,其中包含带有绑定(bind)的模块: bind(Repository.class).to(RepositoryImpl.class).singletonInScope() 然后
我正在寻找一种使用 ggplot() 创建线条的方法具有“尖”边缘,以获得“牙签”的整体外观。 例如,考虑以下可视化: library(tibble) library(ggplot2) my_df %
我开始了一个小型的概念验证练习,让我们了解 Toothpick DI framework与现有的基于 Gradle 的 Java 项目。我读过很多关于你可以在 Java 中使用 Toothpick 的
Dagger 2 能够使用多重绑定(bind)注入(inject)集合或映射。如何在 Toothpick 中做到这一点 例如我想要 @Inject constructor(val map: Map)
我是一名优秀的程序员,十分优秀!