Могу ли я в гистограмме Python переключать дискретные элементы оси X в дополнение к легенде?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Могу ли я в гистограмме Python переключать дискретные элементы оси X в дополнение к легенде?

Сообщение Anonymous »

У меня есть такой график, на котором показаны «показатели» в разных «регионах»:
[img]https://i.sstatic. net/iVilmAIj.png[/img]

Я могу фильтровать регионы, щелкнув легенду, и могу переключиться на отображение отдельных показателей с помощью раскрывающегося меню.
Чего я хочу: Вместо раскрывающегося списка мне нужно что-то, что больше похоже на флажки, чтобы отфильтровывать или показывать определенные комбинации показателей. Таким образом, регионы и показатели можно переключать в интерактивном режиме. Возможно ли это?
Это мой код:
import plotly.graph_objects as go
import pandas as pd

# Example data
data = {
"Metric": ["Metric A", "Metric B", "Metric C", "Metric D", "Metric E"],
"Region 1": [5, 15, 25, 10, 20],
"Region 2": [10, 25, 5, 15, 30],
"Region 3": [20, 10, 15, 30, 5]
}
df = pd.DataFrame(data)

# Create an initial figure with all regions
fig = go.Figure()

regions = df.columns[1:]
for region in regions:
fig.add_trace(go.Bar(
x=df["Metric"],
y=df[region],
name=region
))

# Add dropdown menus to filter metrics
metric_options = [{"label": metric, "method": "update", "args": [{"x": [df["Metric"]], "y": [df[region] for region in regions]}]} for metric in df["Metric"]]

dropdown_buttons = [
{
"label": "All Metrics",
"method": "update",
"args": [{"x": [df["Metric"]], "y": [df[region] for region in regions]}]
}
]

for metric in df["Metric"]:
y_values = [df[region][df["Metric"] == metric].values[0] for region in regions]
dropdown_buttons.append({
"label": metric,
"method": "update",
"args": [{"x": [[metric] * len(regions)], "y": [y_values]}]
})

fig.update_layout(
updatemenus=[
{
"buttons": dropdown_buttons,
"direction": "down",
"showactive": True,
"x": 1.15,
"xanchor": "left",
"y": 1.2,
"yanchor": "top"
}
],
title="Interactive Bar Chart with Filters",
xaxis_title="Metrics",
yaxis_title="Values"
)

# Save as HTML
fig.write_html("interactive_bar_chart.html")


Подробнее здесь: https://stackoverflow.com/questions/791 ... ddition-to
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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