gpt4 book ai didi

python - Matplotlib - 如何为一系列绘图设置 ylim()?

转载 作者:太空狗 更新时间:2023-10-30 00:31:42 26 4
gpt4 key购买 nike

我有一系列要制作的箱形图,每个箱形图都有不同的范围。我尝试通过确定每个单独系列的最大值和最小值来设置 ylim。然而,在许多情况下,最小值是异常值,因此图被压缩了。我怎样才能选择情节的“ mustache ”使用的相同限制(加上一个小利润)?

例如,现在我正在这样做:

[In]
ax = df['feature'].boxplot()
ymax = max(df['feature']
ymin = min(df['feature']
ax.set_ylim([ymax,ymin])

我想将 ymax、ymin 设置为箱线图的须线。

最佳答案

作为@unutbu 建议的替代方案,您可以避免绘制离群值,然后使用 ax.margins(y=0)(或一些小的 eps)来将限制缩放到晶须的范围。

例如:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame(np.random.poisson(5, size=(100, 5)))

fig, ax = plt.subplots()
#Note showfliers=False is more readable, but requires a recent version iirc
box = df.boxplot(ax=ax, sym='')
ax.margins(y=0)
plt.show()

enter image description here

如果您想在最大的“ mustache ”周围留出一点空间,请使用 ax.margins(0.05) 添加范围的 5% 而不是范围的 0%:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame(np.random.poisson(5, size=(100, 5)))

fig, ax = plt.subplots()
box = df.boxplot(ax=ax, sym='')
ax.margins(y=0.05)
plt.show()

enter image description here

关于python - Matplotlib - 如何为一系列绘图设置 ylim()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32415838/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com