Боксы с не в масштабе оси Y

У меня есть некоторые данные, которые я хочу построить на графике. Выбросы (например, 20, 30) слишком далеки от большинства значений (например, 0,0002, 0,0003), и, как следствие, я могу видеть выбросы только тогда, когда строю график с помощью matplotlib.

В любом случае можно увеличить значения вокруг медианы, а затем оставить остальную часть оси y не в масштабе и также отображать выбросы?

РЕДАКТИРОВАТЬ Вот мой код на Python. Я хотел бы использовать вставные оси, как предложено ниже, для каждого имеющегося у меня графика. Как я могу сделать это простым способом? Кажется, слишком много параметров, чтобы позаботиться о примерах в документации.

plt.figure()
        ax = plt.subplot(111)
        plt.boxplot(dataToPlot)
        axins = zoomed_inset_axes(ax, 6, loc=1) # zoom = 6
# what follows is taken from example linked in the answer below. 
# I didn't get if the first argument is indeed the data this zoomed image refers to or not. 
        axins.imshow(dataToPlot[1], interpolation="nearest", origin="lower")
# here I only need the y-axis to be in [0,0.1], x-axis is no of use with vertical boxplots
        x1, x2, y1, y2 = -1.5, -0.9, 0.0, 0.1
        axins.set_xlim(x1, x2)
        axins.set_ylim(y1, y2)
        plt.xticks(visible=True)
        plt.yticks(visible=True)
        plt.savefig( 'somewhere.jpeg', bbox_inches=0)

1 ответ

Решение

Вы могли бы сделать вставные оси, как описано на этой странице, примерно на 1/2 пути вниз.

вставные оси

Очень старый вопрос, но я наткнулся на него в поисках чего-то похожего. Я решил эту проблему, добавив sym='' (этой опции, возможно, не существовало 7 лет назад!), Которая сообщает boxplot, чтобы не показывать летуны (что-либо, кроме усов).

Поэтому для всех, кто сталкивается с этим, вы можете попробовать изменить строку 3 в вопросе на:

plt.boxplot(dataToPlot, sym='')
Другие вопросы по тегам