Блок-диаграмма matplotlib без выбросов

Есть ли способ скрыть выбросы при построении блочной диаграммы в matplotlib (python)?

Я использую простейший способ построения графика:

  from pylab import *
  boxplot([1,2,3,4,5,10])
  show()

Это дает мне следующий сюжет:

(Я не могу опубликовать изображение, потому что у меня недостаточно репутации, но в основном это коробчатая диаграмма с Q1 при y = 1, Q3 при y = 5 и выбросом при y = 10)

Я хотел бы удалить выброс при y = 10, чтобы график отображался только от Q1 до Q3 (в данном случае от 1 до 5).


person Didac Busquets    schedule 25.02.2014    source источник


Ответы (1)


В текущих версиях matplotlib вы можете:

boxplot([1,2,3,4,5,10], showfliers=False)

or

boxplot([1,2,3,4,5,10], sym='')

В более старых версиях будет работать только второй подход.

В документации для boxplot это упоминается, кстати, как: "Введите пустую строку ('') если вы не хотите показывать листовки », хотя, по крайней мере, для меня,« выбросы »- более знакомое слово.

person tom10    schedule 25.02.2014
comment
Это определенно помогает. Моя вина ... не прочитал внимательно документ (просто искал выброса, а не летчика!). - person Didac Busquets; 26.02.2014
comment
Нет проблем, и это было бы трудно найти в документации, если бы вы этого еще не знали - у меня было преимущество пойти другим путем. (Я отредактирую свой ответ, чтобы он звучал менее очевидным, поскольку он не был особенно ясным.) - person tom10; 26.02.2014
comment
@DidacBusquets Просто хочу вмешаться и сказать, что в v1.4 вы сможете передать параметр showfliers=False при вызове boxplot. - person Paul H; 26.02.2014
comment
@Paul H: пожалуйста, не стесняйтесь редактировать мой ответ, когда он станет легкодоступным. - person tom10; 27.02.2014
comment
В matplotlib 1.2 выбросы скрываются с помощью boxplot(data,0,''). См. (matplotlib.org/1.2.1/api/pyplot_api.html) - person MasterControlProgram; 03.02.2017