Джейд Картер

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


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

Данные

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

      sales_a = [1000, 1400, 800, 500, 700]

      sales_b = [1200, 1500, 600, 700, 900]

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

      fig = go.Figure()

      fig.add_trace(go.Bar(

      x=categories,

      y=sales_a,

      name='Store A',

      marker=dict(color='blue')

      ))

      fig.add_trace(go.Bar(

      x=categories,

      y=sales_b,

      name='Store B',

      marker=dict(color='orange')

      ))

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

      fig.update_layout(

      title='Сравнение продаж по категориям в двух магазинах',

      xaxis_title='Категории',

      yaxis_title='Продажи ($)',

      barmode='group',

      template='plotly_white'

      )

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

      fig.show()

      ```

      Задача 4: Построение тепловой карты продаж по регионам и месяцам

      Описание:

      Имеются данные о продажах в четырёх регионах за три месяца:

      – Регионы: `['North', 'South', 'East', 'West']`

      – Месяцы: `['January', 'February', 'March']`

      – Продажи (матрица):

      ```

      [[500, 600, 700],

      [400, 500, 600],

      [700, 800, 900],

      [300, 400, 500]]

      ```

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

      Решение:

      ```python

      import plotly.graph_objects as go

      # Данные

      regions = ['North', 'South', 'East', 'West']

      months = ['January', 'February', 'March']

      sales_matrix = [

      [500, 600, 700],

      [400, 500, 600],

      [700, 800, 900],

      [300, 400, 500]

      ]

      # Построение тепловой карты

      fig = go.Figure(data=go.Heatmap(

      z=sales_matrix,

      x=months,

      y=regions,

      colorscale='Viridis' # Цветовая схема

      ))

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

      fig.update_layout(

      title='Тепловая карта продаж',

      xaxis_title='Месяцы',

      yaxis_title='Регионы'

      )

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

      fig.show()

      ```

      Задача 5: Построение 3D-графика поверхности функции

      Описание: Построить 3D-график для функции ( z = cos(x^2 + y^2) cdot *sin(x – y) ) на диапазоне (x) и (y) от (-5) до (5) с использованием более высокой сетки и с улучшенной цветовой гаммой.

      Решение:

      ```python

      import numpy as np

      import plotly.graph_objects as go

      # Данные

      x = np.linspace(-5, 5, 100) # Увеличение разрешения

      y = np.linspace(-5, 5, 100)

      X, Y = np.meshgrid(x, y)

      Z = np.cos(X**2 + Y**2) * np.sin(X – Y) # Сложная функция

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

      fig = go.Figure(data=[go.Surface(z=Z, x=X, y=Y, colorscale='Viridis')]) # Изменение цветовой гаммы

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

      fig.update_layout(

      title='3D График сложной поверхности',

      scene=dict(

      xaxis_title='X',

      yaxis_title='Y',

      zaxis_title='Z'

      ),

      scene_camera=dict(

      eye=dict(x=1.5, y=1.5, z=1.5) # Изменение угла обзора

      )

      )

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

      fig.show()

      ```

      Задача 6: Анимация изменения температуры по дням недели

      Описание:

      Имеется информация о температуре за каждый день недели для нескольких городов:

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

      – Города: `['New York', 'Los Angeles', 'Chicago']`

      – Температуры (матрица):

      ```

      New York: [22, 24, 26, 25, 23, 21, 20]

      Los Angeles: [30, 31, 29, 28, 27, 26, 25]

      Chicago: [15, 18, 20, 17, 16, 14, 12]

      ```

      Создайте анимацию, показывающую изменение