- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含以下数据的数据框df
。我想绘制 A 组和 B 组之间基因的 logCPM
表达。
Samples Type GeneA
Sample1 B 14.82995162
Sample2 B 12.90512275
Sample3 B 9.196524783
Sample4 A 19.42866012
Sample5 A 19.70386922
Sample6 A 16.22906914
Sample7 A 12.48966785
Sample8 B 15.53280377
Sample9 A 9.345795955
Sample10 B 9.196524783
Sample11 B 9.196524783
Sample12 B 9.196524783
Sample13 A 9.434355615
Sample14 A 15.27604692
Sample15 A 18.90867329
Sample16 B 11.71503095
Sample17 B 13.7632545
Sample18 A 9.793864295
Sample19 B 9.196524783
Sample20 A 14.52562066
Sample21 A 13.85116605
Sample22 A 9.958492229
Sample23 A 17.57075876
Sample24 B 13.04499079
Sample25 B 15.33577937
Sample26 A 13.95849295
Sample27 B 9.196524783
Sample28 A 18.20524388
Sample29 B 17.7058873
Sample30 B 14.0199393
Sample31 A 16.21499069
Sample32 A 14.171432
Sample33 B 9.196524783
Sample34 B 9.196524783
Sample35 B 15.16648035
Sample36 B 12.9435081
Sample37 B 13.81971106
Sample38 B 15.82901231
我尝试使用ggviolin
制作 fiddle 图。
library("ggpubr")
pdf("eg.pdf", width = 5, height = 5)
p <- ggviolin(df, x = "Type", y = "GeneA", fill = "Type",
color = "Type", palette = c("#00AFBB", "#FC4E07"),
add="boxplot",add.params = list(fill="white"),
order = c("A", "B"),
ylab = "GeneA (logCPM)", xlab = "Groups")
ggpar(p, ylim = c(5,25))
dev.off()
1)在此我没有看到任何 mustache 和 fiddle 上的任何点。
2)有没有办法显示哪个点是哪个样本?就像为该点赋予不同的颜色(例如:我对样本 10 感兴趣。我想为该点赋予不同的颜色,因为我有兴趣查看其表达)
谢谢
最佳答案
我可以建议使用 elephant
/raincloud
或hybrid boxplot
而是绘图?
来自上面链接的博客文章:
Violin plots mirror the data density in a totally uninteresting/uninformative way, simply repeating the same exact information for the sake of visual aesthetic.
In raincloud plot, we get basically everything we need: eyeballed statistical inference, assessment of data distributions (useful to check assumptions), and the raw data itself showing outliers and underlying patterns.
library(tidyverse)
library(ggrepel)
df <- read_table2(txt)
# create new variable for coloring & labeling `Sample10` pts
df <- df %>%
mutate(colSel = ifelse(Samples == 'Sample10', '#10', 'dummy'),
labSel = ifelse(Samples == 'Sample10', '#10', ''))
# create summary statistics
sumld <- df %>%
group_by(Type) %>%
summarise(
mean = mean(GeneA, na.rm = TRUE),
median = median(GeneA, na.rm = TRUE),
sd = sd(GeneA, na.rm = TRUE),
N = n(),
ci = 1.96 * sd/sqrt(N),
lower95 = mean - ci,
upper95 = mean + ci,
lower = mean - sd,
upper = mean + sd) %>%
ungroup()
sumld
#> # A tibble: 2 x 10
#> Type mean median sd N ci lower95 upper95 lower upper
#> <chr> <dbl> <dbl> <dbl> <int> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 A 14.7 14.5 3.54 17 1.68 13.0 16.3 11.1 18.2
#> 2 B 12.4 12.9 2.85 21 1.22 11.2 13.6 9.54 15.2
雨云图
## get geom_flat_violin function
## https://gist.github.com/benmarwick/b7dc863d53e0eabc272f4aad909773d2
## mirror: https://pastebin.com/J9AzSxtF
devtools::source_gist("2a1bb0133ff568cbe28d", filename = "geom_flat_violin.R")
pos <- position_jitter(width = 0.15, seed = 1)
p0 <- ggplot(data = df, aes(x = Type, y = GeneA, fill = Type)) +
geom_flat_violin(position = position_nudge(x = .2, y = 0), alpha = .8) +
guides(fill = FALSE) +
guides(color = FALSE) +
scale_color_brewer(palette = "Dark2") +
scale_fill_brewer(palette = "Dark2") +
theme_classic()
# raincloud plot
p1 <- p0 +
geom_point(aes(color = Type),
position = pos, size = 3, alpha = 0.8) +
geom_boxplot(width = .1, show.legend = FALSE, outlier.shape = NA, alpha = 0.5)
p1
# coloring Sample10
p0 +
geom_point(aes(color = colSel),
position = pos, size = 3, alpha = 0.8) +
geom_text_repel(aes(label = labSel),
point.padding = 0.25,
direction = 'y',
position = pos) +
geom_boxplot(width = .1, show.legend = FALSE, outlier.shape = NA, alpha = 0.5) +
scale_color_manual(values = c('dummy' = 'grey50', '#10' = 'red'))
# errorbar instead of boxplot
p0 +
geom_point(aes(color = colSel),
position = pos, size = 3, alpha = 0.8) +
geom_point(data = sumld, aes(x = Type, y = mean),
position = position_nudge(x = 0.3), size = 3.5) +
geom_text_repel(aes(label = labSel),
point.padding = 0.25,
direction = 'y',
position = pos) +
geom_errorbar(data = sumld, aes(ymin = lower95, ymax = upper95, y = mean),
position = position_nudge(x = 0.3), width = 0) +
guides(fill = FALSE) +
guides(color = FALSE) +
scale_color_manual(values = c('dummy' = 'grey50', '#10' = 'red')) +
scale_fill_brewer(palette = "Dark2") +
theme_classic()
混合箱线图使用 ggpol
中的 geom_boxjitter()
包
## https://stackoverflow.com/a/49338481/
library(ggpol)
half_box <- ggplot(df) + geom_boxjitter(aes(x = Type, y = GeneA,
fill = Type, color = Type),
jitter.shape = 21, jitter.color = NA,
jitter.height = 0, jitter.width = 0.04,
outlier.color = NA, errorbar.draw = TRUE) +
scale_color_brewer(palette = "Dark2") +
scale_fill_brewer(palette = "Dark2") +
theme_classic()
half_box
奖励:您还可以将 ggbeeswarm 中的 geom_point()
替换为 geom_quasirandom()
包裹。 Here就是一个例子。
.
.
.
由reprex package于2018年10月3日创建(v0.2.1.9000)
关于r - 如何在 fiddle 图上显示 mustache 和点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52630293/
我有几个组的测量值,我想将它们绘制为 fiddle 图: set.seed(1) df 0, group] 现在我们可以根据他们是否应该有 fiddle 来使用不同的跟踪样式来绘制组 plot_ly
我在新的 Sencha Fiddle 中找不到我保存的 fiddle : 我曾经能够点击右上角的我的名字并获得保存的 fiddle 列表。 我再也找不到我保存的 fiddle 了。 最佳答案 使用搜索
我试过 violin在 Seaborn 中为每个 fiddle 绘制不同的颜色: sns.violinplot(x='type', y='den', data=mydf, ax=axes[0], co
创建将一把 fiddle 按 hue 分割的 fiddle 情节的正确方法是什么? 我尝试了不同的方法,似乎唯一的方法是为数据集中的每个条目创建一个共享相同值的特征。并将该功能的名称作为 x 传递。
我最近创建了一个成功编译并返回所需结果的查询。当我将该段代码用作 stackoverflow 上的用户为我提供的另一段代码中的子查询时,我遇到了一些问题,这些问题最终得到了解决。我试图在给我的那段代码
我正在尝试创建一个分组的 fiddle 图(见图),我在其中为四个分类变量绘制了 3 个级别。考虑到这些数据,除了盒子与后面更宽的 fiddle 图颜色相同使它们难以查看这一事实外,该图效果很好。理想
我有具有结构的 Pandas 数据框: A B 0 1 1 1 2 1 2 3 4 3 3 7 4 6 8 如何生成 Seaborn Violin 图,每列作为其自己的单独
也许这是一个愚蠢的想法,或者是一个脑电波。我有 4 个不同物种的脂质类数据集。数据是成比例的,总和是 1000。我想可视化每个物种中每个类别的比例差异。一般来说,堆积条形图是这里的方法,但是有几个类,
需要根据匹配的键删除重复的对象,但添加值。已经创建了片段和 fiddle 来查看。还在底部添加了预期结果。 我尝试了几种不同的方法,但无法获得预期的结果。我可以使用过滤器方法,但无法为匹配键添加值。请
这可能是最大的菜鸟问题,但我的代码可以在 fiddle 中工作,而不是在我的 html 中工作。少了什么东西?这是 fiddle 链接,下面是我的index.html:http://jsfiddle.
请查看the following mysql fiddle ... 现在只插入了最后一个值,即“18”。我不想只插入“18”,而是想插入例如“3;” 4; 9; 18'所以我希望该字段包含多个值。 我
抱歉标题不好,但我什至不知道如何解释... 这是 fiddle :http://sqlfiddle.com/#!2/f21e3/5 所以我得到了一个非常基本的产品表和我的数据表(在本例中为 tyds)
我正在尝试合并 2 个代码。我找到了我要找的两个代码。我真的很新@this所以请理解。 这是页眉页脚和背景: http://jsfiddle.net/F6dez/ 这是下拉菜单: http://jsf
我正在尝试制作this fiddle在网页上工作但没有成功。我以前做过这个,但是这个 fiddle 不起作用。 我尝试添加google的jquery或min jquery,但没有成功。我还尝试在 di
如果我从这里复制代码:https://jsfiddle.net/agt10exp/ 它在 fiddle 上运行良好,但是当我在我的电脑上创建一个新文件并将代码粘贴到其中时,我得到了相同的布局,但是它无
找不到与我的问题完全相关的主题。 我有这两个 div,DEMO here : Tab 我希望选项卡固定在绿色 div 的右下角的特定位置: 距绿色 div 顶部的 0px 距离(无论如何我认为这是
如何使用 ggplot2 像在 R 中一样绘制 fiddle 图?在 ggplot2 中,您可以创建漂亮的 fiddle 图,例如: ggplot(dat,aes(value,prob)) + geo
我想创建一个表that would look like this fiddle 我想知道当前代码是否是创建这种外观的最佳方式? HTML:
我尝试用 R 包 ggplot2 和代码绘制 fiddle 图 norm2 = function(v) return(sqrt(sum(v*v))) myfct = function(d) { v
我正在寻找一种方法来绘制带有许多 fiddle (列)的 fiddle 图。问题是我的专栏的长度各不相同。例如,它是这样的: "V1" "V2" "V1" 9 255.5 "V2" 432 286 "
我是一名优秀的程序员,十分优秀!