Я столкнулся с этой проблемой в HOLOVIEWS
, где в Im не удалось получить порядок полосок на изображении, как на моем df
. Я также пробовал много способов order
и sort
, но безуспешно. Отображаемое изображение находится в точном обратном порядке по сравнению с ожидаемым.
df = pd.DataFrame({
"set": list("ABABCCAD"),
"flag": list("YYNNNYNY"),
"id": list("DEFGHIJK"),
})
df["set"] = df["set"].map(
{"A": "APPLE",
"B": "BALL",
"C": "CAT",
"D": "DOG"
}
)
Это результат df
: -
set flag id
0 APPLE N 2
1 APPLE Y 1
2 BALL N 1
3 BALL Y 1
4 CAT N 1
5 CAT Y 1
6 DOG Y 1
Я хочу, чтобы мое изображение было в том же порядке, что и это df
def hook1(plot, element):
plot.state.y_range.range_padding = 0.1
plot.state.text(
y="xoffsets",
x="id",
text="id",
source=plot.handles["source"],
text_align="left",
y_offset=10,
x_offset=5
)
df= df.groupby(["set", "flag"])["id"].count().reset_index()
count_bars = hv.Bars(df, kdims=["set","flag"], vdims="id")
plot = (
count_bars.opts(hooks=[hook1],
title="IDs",invert_axes=True, width=500, padding=2))
bokeh_obj = hv.render(plot, backend="bokeh")
show(bokeh_obj)
Получаю получившееся изображение: -
Я не хочу этого, я хочу, чтобы порядок был таким же, как и в моем фрейме данных в следующем порядке: -_ 10 _-_ 11 _, _ 12_, затем BALL
_14 _, _ 15 _ .. (сверху вниз) и так далее. Я также не хочу закодировать переменные для упорядочивания, потому что у меня есть большой df
с множеством sets
, и было бы сложно упорядочить имена переменных в коде, а также это не будет иметь смысла, если я собираюсь создать function