Как удалить определенные элементы из панели режимов в Plotly с помощью Python

Чтобы удалить определенные элементы с панели режимов (панели инструментов) в Plotly с помощью Python, вы можете использовать опцию configв объекте Plotly. Вот несколько методов с примерами кода:

Метод 1: использование параметра config

import plotly.graph_objects as go
# Create a sample figure
fig = go.Figure(go.Scatter(x=[1, 2, 3], y=[4, 5, 6]))
# Define the buttons to be removed
buttons_to_remove = ['zoom2d', 'pan2d']
# Configure the modebar
fig.update_layout(
    {
        "modebar": {
            "remove": buttons_to_remove
        }
    }
)
# Display the figure
fig.show()

В этом примере мы создаем объект Figureи указываем кнопки, которые нужно удалить, в списке buttons_to_remove. Мы обновляем макет фигуры с помощью метода update_layoutи устанавливаем конфигурацию modebarдля удаления указанных кнопок.

Метод 2: использование параметра configс функцией обратного вызова

import plotly.graph_objects as go
# Create a sample figure
fig = go.Figure(go.Scatter(x=[1, 2, 3], y=[4, 5, 6]))
# Define the buttons to be removed
buttons_to_remove = ['zoom2d', 'pan2d']
# Create a callback function to modify the modebar
def remove_buttons(fig, buttons):
    fig['config']['modeBarButtonsToRemove'] = buttons
    return fig
# Apply the callback function
fig = remove_buttons(fig, buttons_to_remove)
# Display the figure
fig.show()

В этом методе мы определяем функцию обратного вызова под названием remove_buttons, которая принимает объект рисунка и кнопки для удаления в качестве аргументов. Внутри функции мы обновляем словарь configрисунка, чтобы изменить свойство modeBarButtonsToRemove. Наконец, мы применяем к фигуре функцию обратного вызова.