首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用matplotlib计算X轴上的百分位数

使用matplotlib计算X轴上的百分位数
EN

Stack Overflow用户
提问于 2013-08-10 02:13:10
回答 1查看 15.7K关注 0票数 4

我有一个排序好的numpy数组,我想要绘制它。我想在x轴上打印百分位数。我知道如何得到百分位值。

下面是我所拥有的,但我不知道如何处理我的百分位值数组:

代码语言:javascript
运行
复制
import numpy as np
import pylab as P
import matplotlib as mp

d = np.loadtxt("report.stats.sorted")
pct = mp.mlab.prctile(d, p=(0.0, 10.0, 25.0, 50.0, 75.0, 90.0, 100.0))

P.plot(d)
P.show()

该图显示了一条很好的曲线,但x轴显示了条目数量的刻度。我想要的是在适当的位置显示0.0,25.0,50.0,75.0,100.0的刻度。

抱歉,如果不清楚的话。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-10 03:22:18

如果您只是想更改xticklabels以显示百分比等级,则可以将刻度的位置设置为绘制的数组长度的百分比,并将标签设置为百分比等级:

代码语言:javascript
运行
复制
from matplotlib import mlab
import matplotlib.pyplot as plt
import numpy as np

d = np.sort(np.random.randint(0,1000,1000)).cumsum()

# Percentile values
p = np.array([0.0, 25.0, 50.0, 75.0, 100.0])

perc = mlab.prctile(d, p=p)

plt.plot(d)
# Place red dots on the percentiles
plt.plot((len(d)-1) * p/100., perc, 'ro')

# Set tick locations and labels
plt.xticks((len(d)-1) * p/100., map(str, p))

plt.show()

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

https://stackoverflow.com/questions/18153054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档