Коробчатые графики, показывающие плоскую линию вместо прямоугольника и усов, построение Python ⇐ Python

Программы на Python
Anonymous
Коробчатые графики, показывающие плоскую линию вместо прямоугольника и усов, построение Python

Сообщение Anonymous »

Я пытаюсь построить несколько коробчатых диаграмм, организованных по категориальной переменной с помощью go.Box. Однако, когда я рисую данные, появляется просто плоская линия. [Примечание: этот вопрос кажется хорошо документированным в R, но я не нашел аналогичного вопроса для Python. пожалуйста, дайте ссылку на него, если найдете его.]
Печать с помощью px.express не повторяет эту ошибку, похоже, она возникает только с go.Box.
MRE для нескольких столбцов:

Код: Выделить всё

fares = [random.random() for g in np.arange(10000)]
types = ["new", "new", "old", "old", "really_old"] * 2000

df = pd.DataFrame({
"bus_fares": fares,
"bus_types": types
})

# -----

traces = []

for k in df["bus_types"].unique():
trace = go.Box(
x = [k],
y = df[df["bus_types"]==k]["bus_fares"],
marker={"color": next(color_iter)},
name="bus_types",
showlegend=False
)

traces.append(trace)

go.Figure(traces)
Этот код отображает график, показанный ниже.
Изображение

даже если мы упростим и построим только один блок без цикла, он все равно будет вести себя так же.

Код: Выделить всё

#-----
x = "bus_types"
y = "bus_fares"
k = "old"

go.Figure(go.Box(x=[k], y=df[df[x]==k][y].values, name=x, showlegend=False))
Изображение

Есть ли у кого-нибудь идеи, как исправить это поведение в Python?


Подробнее здесь: https://stackoverflow.com/questions/790 ... tly-python

Вернуться в «Python»