如何指定PYPLATE框中的百分位数?

How to specify the percentiles in a pyplot box?(如何指定PYPLATE框中的百分位数?)
本文介绍了如何指定PYPLATE框中的百分位数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我有最简单的脚本

import plotly.offline as pyo
import plotly.graph_objs as go

# set up an array of 20 data points, with 20 as the median value
y = [1,14,14,15,16,18,18,19,19,20,20,23,24,26,27,27,28,29,33,54]

data = [
    go.Box(
        y=y,
        boxpoints='outliers' # display only outlying data points
    )
]
pyo.plot(data, filename='box2.html')

在此我有以下内容

我的问题是,我知道这是针对25%和75%的人的? 是否有方法可以更改显示的百分位数的值?

推荐答案

  • 根据其他评论和答案。四分位数是四分位数,可以用其他方法计算
  • 如果除四分位数外不需要百分位数,则可以在图中添加额外的线条

下面演示了如何在该图中添加9条百分位线

import plotly.graph_objs as go
import numpy as np
import pandas as pd
import plotly.express as px

# set up an array of 20 data points, with 20 as the median value
y = [1,14,14,15,16,18,18,19,19,20,20,23,24,26,27,27,28,29,33,54]

data = [
    go.Box(
        y=y,
        boxpoints='outliers' # display only outlying data points
    )
]

fig = go.Figure(data) #.add_traces(go.Bar(x=np.repeat(["trace 0"],9), y=[np.percentile(y, q) for q in np.linspace(10,90,9)]))

fig.add_traces(
    px.line(
        pd.DataFrame(
            {
                "y": np.repeat(np.percentile(y, np.linspace(10, 90, 9)), 2),
                "x": np.tile([0.4, 0.6], 9),
                "p": np.repeat(np.linspace(10, 90, 9), 2),
            }
        ),
        x="x",
        y="y",
        color="p",
    )
    .update_traces(showlegend=False, xaxis="x2")
    .data
).update_layout(xaxis2={"overlaying": "x", "visible": False, "range": [0, 1]})

这篇关于如何指定PYPLATE框中的百分位数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)