GPB*_*GPB 5 python matplotlib boxplot
我有一系列我试图制作的箱形图,每个都有不同的范围.我尝试通过确定每个单独系列的最大值和最小值来设置ylim.然而,在许多情况下,min是异常值,因此绘图是压缩的.如何选择图表"胡须"使用的相同限制(加上小幅度)?
例如,现在我这样做:
[In]
ax = df['feature'].boxplot()
ymax = max(df['feature']
ymin = min(df['feature']
ax.set_ylim([ymax,ymin])
Run Code Online (Sandbox Code Playgroud)
我想将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()
Run Code Online (Sandbox Code Playgroud)
如果你想在最大的"胡须"周围留出一些空间,可以使用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()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7554 次 |
| 最近记录: |