#pandas #matplotlib #seaborn #boxplot
#pandas #matplotlib #сиборн #boxplot
Вопрос:
У меня есть данные в следующем формате, как прикреплено. Итак, в основном для каждого тестового данные, у меня есть 10 наблюдений из разных моделей.
Теперь я хочу сравнить изменчивость наблюдений так, как показано ниже. Таким образом, центральная точка представляет среднее значение всех наблюдений, и все значения отображаются в виде прямоугольника вокруг нее. Что-то вроде этого рисунка ниже. Здесь центральная зеленая точка представляет среднее значение, а строка показывает obs_1, obs_2 до obs_10.
Я могу нарисовать только простой блок-график после преобразования данных, но он не кажется визуально привлекательным и, следовательно, пытается сделать что-то подобное. Пожалуйста, помогите.
Ответ №1:
График, который вы показали, больше похож на график CI.. не блокплот. И неясно, что представляют столбцы, 95% достоверность среднего значения? Так что не совсем уверен, чего вы хотите.
Допустим, ваши данные выглядят так:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.normal(0,1,(15,10)),
columns = ['obs_' str(i) for i in np.arange(1,11)])
Можно создать блок-график каждой строки:
df.T.boxplot()
95% ДИ от среднего:
import seaborn as sns
ax = sns.pointplot(x="index", y="value",
data=df.reset_index().melt(id_vars="index"), join=False)
Чтобы добавить некоторые другие точки, например obs_1
, столбец :
ax.scatter(x = df.index , y= df['obs_1'],c = "k")
Комментарии:
1. Спасибо, чувак! , так что в основном это означает, что seaborn по умолчанию использует линейный график с использованием CI. Кроме того, в дополнение, предположим, что одно из наблюдений здесь является фактическим значением.. Можем ли мы отобразить это фактическое значение на том же приведенном выше графике другим цветом?