Библиотеки Python Часть 2. Практическое применение. Джейд Картер

Читать онлайн.
Название Библиотеки Python Часть 2. Практическое применение
Автор произведения Джейд Картер
Жанр
Серия
Издательство
Год выпуска 2025
isbn



Скачать книгу

target="_blank" rel="nofollow" href="#_6.jpg"/>

      Особенности:

      – Используем `go.Surface` для построения трёхмерной поверхности.

      – Параметры `scene` задают подписи к осям в трёхмерном пространстве.

      Интерактивность с помощью виджетов

      Plotly позволяет добавлять интерактивные элементы, такие как слайдеры. Например, график, где пользователь может выбирать диапазон времени.

      ```python

      from plotly.subplots import make_subplots

      years = ['2020', '2021', '2022', '2023']

      values = [500, 700, 800, 600]

      fig = make_subplots(rows=1, cols=1)

      fig.add_trace(go.Scatter(

      x=years,

      y=values,

      mode='lines+markers',

      name='Yearly Data'

      ))

      fig.update_layout(

      title='Интерактивный график с выбором диапазона',

      xaxis=dict(rangeslider=dict(visible=True)), # Добавляем ползунок

      template='plotly_white'

      )

      fig.show()

      ```

      Интерактивность:

      – Ползунок позволяет выбирать диапазон данных на оси X.

      – Это полезно для работы с временными рядами.

      Plotly – универсальный инструмент для создания интерактивных графиков. Благодаря множеству типов графиков и богатым возможностям настройки, библиотека подходит для самых разнообразных задач: от анализа данных до их визуальной презентации. Используя Plotly, вы можете не только создавать красивые графики, но и предоставлять пользователям возможность активно взаимодействовать с ними.

Задачи для практики

      Задача 1: Построение графика изменения температуры

      Описание:

      Имеется набор данных о температуре за неделю:

      – Дни: `['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']`

      – Температура: `[15, 17, 20, 22, 19, 18, 16]`

      Постройте линейный график, отображающий изменение температуры. Подпишите оси и добавьте интерактивность.

      Решение:

      ```python

      import plotly.graph_objects as go

      # Данные

      days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

      temperatures = [15, 17, 20, 22, 19, 18, 16]

      # Построение графика

      fig = go.Figure()

      fig.add_trace(go.Scatter(

      x=days,

      y=temperatures,

      mode='lines+markers',

      name='Temperature',

      line=dict(color='blue', width=2),

      marker=dict(size=8)

      ))

      # Настройка графика

      fig.update_layout(

      title='Изменение температуры за неделю',

      xaxis_title='Дни недели',

      yaxis_title='Температура (°C)',

      template='plotly_white'

      )

      # Показ графика

      fig.show()

      ```

      Задача 2: Построение круговой диаграммы

      Описание:

      Имеется информация о продажах по категориям:

      – Категории: `['Electronics', 'Clothing', 'Groceries', 'Books', 'Furniture']`

      – Продажи: `[1200, 1500, 800, 600, 900]`

      Постройте круговую диаграмму, отображающую доли продаж по категориям.

      Решение:

      ```python

      import plotly.graph_objects as go

      # Данные

      categories = ['Electronics', 'Clothing', 'Groceries', 'Books', 'Furniture']

      sales = [1200, 1500, 800, 600, 900]

      # Построение круговой диаграммы

      fig = go.Figure(data=[go.Pie(

      labels=categories,

      values=sales,

      hole=0.4 # Делает диаграмму "пончиковой"

      )])

      # Настройка графика

      fig.update_layout(

      title='Распределение продаж по категориям',

      template='plotly_white'

      )

      # Показ графика

      fig.show()

      ```