首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >绘制分位线并连接两个小提琴曲线图

绘制分位线并连接两个小提琴曲线图
EN

Stack Overflow用户
提问于 2020-08-20 12:23:12
回答 1查看 126关注 0票数 1

如何在Python中绘制分位线并在plotly中连接两个小提琴图?

例如,在R (https://github.com/GRousselet/rogme)中有一个库可以做到这一点。当有两个以上的组时,所提供的库不一定有效。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-21 22:03:32

在Plotly中,绝对没有内置的方法可以做这么具体的事情。你能做的最好的可能是画一些线,如果你需要为不同分位数的多组数据写一个函数或一些循环。

以下是我将如何开始。如果要连接分组小提琴曲线图中的相同分位数,则可以创建一个列表或数组来存储线条的所有坐标。我承认我目前所拥有的是老生常谈的,因为它依赖于Plotly中y坐标从0开始并以1递增的组。可能有一种方法可以访问分组小提琴曲线图的y坐标,我建议您查看the documentation

如果想要添加文本框来指示分位数的值,则需要做更多的工作。

代码语言:javascript
运行
AI代码解释
复制
import numpy as np
import pandas as pd

import plotly.express as px
import plotly.graph_objects as go

# generate some random data that is normally distributed
np.random.seed(42)
y1 = np.random.normal(0, 1, 1000) * 1.5 + 6
y2 = np.random.normal(0, 5, 1000) + 6

# group the data together and combine into one dataframe
df1 = pd.DataFrame({'Group': 'Group1', 'Values': y1})
df2 = pd.DataFrame({'Group': 'Group2', 'Values': y2})
df_final = pd.concat([df1, df2])

fig = px.strip(df_final, x='Values', y='Group', color_discrete_sequence=['grey'])

quantiles_list = [0.05, 0.10, 0.25, 0.50, 0.75, 0.90, 0.95]

## this is a bit hacky and relies on y coordinates for groups starting from 0 and increasing by 1
y_diff = 0
## these store the coordinates in order to connect the quantile lines
lower_coordinates, upper_coordinates = [], []
for group_name in df_final.Group.unique():
    for quantile in quantiles_list:
        quantile_value = np.quantile(df_final[df_final['Group'] == group_name].Values, quantile)
        if group_name == 'Group1':
            lower_coordinates.append((quantile_value, 0.2+1*y_diff))
        if group_name == 'Group2':
            upper_coordinates.append((quantile_value, -0.2+1*y_diff))
        fig.add_shape(
                # Vertical Line for Group1
                dict(
                    type="line",
                    x0=quantile_value,
                    y0=-0.2+1*y_diff,
                    x1=quantile_value,
                    y1=0.2+1*y_diff,
                    line=dict(
                        color="black",
                        width=4
                    )
                ),
        )
    y_diff += 1

## draw connecting lines
for idx in range(len(upper_coordinates)):
    fig.add_shape(
            dict(
                type="line",
                x0=lower_coordinates[idx][0],
                y0=lower_coordinates[idx][1],
                x1=upper_coordinates[idx][0],
                y1=upper_coordinates[idx][1],
                line=dict(
                    color="chocolate",
                    width=4
                    )
                ),
    )
fig.show()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63505015

复制
相关文章
MATLAB读取Execl数据并绘制曲线图
clc;close all;num = xlsread('D:\paper\1multiscale\figure\introduction\class_statistics.xlsx');cls = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21];R_CNN = num(1,:);SPPNet = num(2,:);Fast = num(3,:);Faster = num(4,:);SSD = num(5,:);plot(cls,R_CNN,'
狼啸风云
2019/12/10
2.1K0
MATLAB读取Execl数据并绘制曲线图
小提琴图绘制
treatment = rep(c("elevated","ambient"),150))
爱学习的小明明
2020/10/08
9480
小提琴图绘制
R语言绘制曲线图
geom_smooth/stat_smooth一条平滑的线,但他是拟合曲线,不会遍历所有数据点
爱学习的小明明
2020/09/25
4.7K0
R语言绘制曲线图
动态曲线图(linechart)--Matplotlib绘制
配上动感的音乐感觉就是不一样啊,要达到上述效果除了核心的Matplotlib绘图外,其他工具和上篇推文 Hans Rosling Charts Matplotlib 绘制 所使用的工具一样啊。下面将分以下几个部分对制作过程进行介绍。
气象学家
2020/09/04
2.3K0
动态曲线图(linechart)--Matplotlib绘制
【统计图】如何绘制小提琴图?
大家在处理数据时经常会遇到非正态分布数据,很多人就不知道该用哪种图来呈现数据了。此时可以考虑使用四分位图,而今天要聊的小提琴图可看成是四分位图plus版。
Mark Chen
2020/09/28
2.5K0
【统计图】如何绘制小提琴图?
R语言之基础绘图
R 的基础绘图系统由 Ross Ihaka 编写,功能非常强大,主要由 graphics 包和 grDevices 包组成,它们在启动 R 时会自动加载。基础绘图系统中有两类函数,一类是高水平作图函数,另一类是低水平作图函数。
timerring
2023/10/13
4720
R语言之基础绘图
ggplot2实现分半小提琴图绘制基因表达谱和免疫得分
最近看到很多人问下面这个图怎么绘制,看着确实不错。于是我查了一些资料,这个图叫split violin或者half violin,本质上是一种小提琴图。参考代码在https://gist.github.com/Karel-Kroeze/746685f5613e01ba820a31e57f87ec87
生信宝典
2021/04/15
3.6K0
Matplotlib绘制动态曲线图,超简单!!
效果预览 http://mpvideo.qpic.cn/0bf2k4aaaaaa4eaexz5z7rpfav6dablqaaaa.f10002.mp4?dis_k=671ace96d1a9b10d9f
DataCharm
2022/02/17
1.7K0
Matplotlib绘制动态曲线图,超简单!!
《matlab科研绘图系列》之小提琴图绘制
相信大家对小提琴图并不陌生,它是比箱形图更易于视觉直观解读的图形绘制方法。它使用数据的核密度估计值代替了箱形图,并可选择叠加数据点本身。小提琴图是箱形图的升级加强版,对数据分布有更丰富的理解,同时不必占用更多空间。在小提琴图中,可以轻松发现过于稀疏的数据或多模式分布,而这些在箱形图中可能不会被注意到。本文推荐一款由Bastian Bechtold开发的小提琴图绘制工具箱 —— Violinplots。
巴山学长
2021/08/26
2.6K0
几种小提琴图、箱线图绘制法2020.8.6
2、The level you wish to aggregate yourmeasure data at, to prevent incorrectaggregation prior to plotting。您希望在绘图之前将度量数据聚合到的级别,以防止错误聚合。 3、measuie data测量数据
用户7138673
2022/09/21
1.2K0
几种小提琴图、箱线图绘制法2020.8.6
Python matplotlib绘制列表数据的小提琴图
  本文介绍基于Python中matplotlib模块与seaborn模块,利用多个列表中的数据,绘制小提琴图(Violin Plot)的方法。
疯狂学习GIS
2023/06/26
3690
Python matplotlib绘制列表数据的小提琴图
使用R语言绘制SCI插图云雨图
我们使用r语言中ggplot2包绘制云雨图,云雨图可以看做是核密度估计曲线图、箱线图和抖动散点图的组合图表。我们可以使用自定义的半小提琴函数geom_flat_volin()、箱型图函数geom_boxplot和抖动散点图函数geom_jitter()叠加实现。
你像时光唯美i
2022/12/28
1.1K0
使用R语言绘制SCI插图云雨图
R语言绘制火山图_r语言画曲线图
提到差异火山图,相信很多同学肯定不陌生。因为形似火山(喷发),所以称为火山图。差异火山图最常见于转录组数据的分析中,在基因表达层面,用于展示两组间表达量上调和下调的基因。常规的火山图中主要包含了两个重要信息,差异表达倍数(Fold Change值,简称FC,作图时会对FC进行log转化,根据logFC值的正负判断这些基因的表达量是上调了还是下调了)以及统计学显著性p值(p-value,通常是FDR校正后的p值,根据校正后p值判断基因表达量上调或下调是否具有显著性)。因此在判断差异基因时,与常规的统计学方法相比,除了p值,通常还会考虑差异倍数,即结合这两个统计结果筛选表达量显著上调或下调的基因(一般而言,差异倍数不能太小)。
全栈程序员站长
2022/11/02
8110
R语言绘制火山图_r语言画曲线图
数据清洗 Chapter03 | Seaborn常用图形
Seaborn是一个画图工具 Seaborn是基于Matplotlib的一个Python作图模块 配色更加好看,种类更多,但函数和操作比较简单 1、散点图 散点图可直接观察两个变量的分布情况 1、使用jiontplot()函数画出散点图 import seaborn as sns import pandas as pd import numpy as np iris = pd.read_csv('./data/iris.csv') sns.jointplot(x='sepal_leng
不温卜火
2020/10/28
1.7K0
数据清洗 Chapter03 | Seaborn常用图形
数据可视化之matplotlib绘制正余弦曲线图
在python里面,数据可视化是python的一个亮点。在python里面,数据可视可以达到什么样的效果,这当然与我们使用的库有关。python常常需要导入库,并不断调用方法,就很像一条流数据可视化的库,有很多,很多都可以后续开发,然后我们调用。了解过pyecharts美观的可视化界面 ,将pyecharts和matplotlib相对比一下。
兰舟千帆
2022/07/16
1.8K0
数据可视化之matplotlib绘制正余弦曲线图
《数据可视化基础》第四章:可视化图形推荐
以下部分是基于《Fundamentals of Data Visualization》学习笔记,要是有兴趣的话,可以直接看原版书籍:https://serialmentor.com/dataviz/
医学数据库百科
2020/06/29
2.5K0
点击加载更多

相似问题

如何在曲线图中保留小提琴曲线图的分位线

117

如何向小提琴曲线图添加新的四分位线?

143

绘制小提琴曲线图:当我添加要显示的样本时,小提琴曲线图不再显示

19

如何使用ggplot2绘制小提琴曲线图?

29

比较列名并绘制曲线图

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档