如何使用Python和Plotly创建不显示异常值的箱线图?
我有一个完整的点列表,我用它来创建一个包含许多异常值的箱形图,其范围对于类似的箱形图来说太大了。
我根本不想在方块图上显示此列表中的异常值。
如果没有,那么我尝试在绘制之前从数据中删除异常值。然而,然后Plotly将一些我没有删除的点作为异常值。
答案 0 :(得分:0)
来自Plotly的Andrew。
您不能不显示数组中的某些数据。因此,您可以设置boxpoints: "all"
以获得点的抖动,包括异常值。这将使箱形图保持原样,而不会有异常值。我猜这不是你想要的。
为防止在数据阵列中发现异常值,请设置boxpoints: false
所以在Python中,这样的东西应该有效:
import plotly.plotly as py
from plotly.graph_objs import Box, Figure
fig = Figure()
boxpoints_default = Box(y=[1, 2, 3, 2, 1, 10], name='default')
boxpoints_false = Box(y=[1, 2, 3, 2, 1, 10], boxpoints=False, name='no outliers')
boxpoints_all = Box(y=[1, 2, 3, 2, 1, 10], boxpoints='all', name='jitter boxpoints')
fig['data'].extend([boxpoints_default, boxpoints_false, boxpoints_all])
fig['layout'].update(title='Comparing boxplot "boxpoints" settings')
py.iplot(fig, filename='Stack Overflow 31497537')
以下是最终结果:
https://plot.ly/~theengineear/4936/comparing-boxplot-boxpoints-settings/
以下是Plotly的框图绘制教程的链接: