Русский
Открыть в Telegram

Пост ✈️Признайтесь, кто из вас устал от статичных matplotlib графиков? Сегодня поговорим о том, как превратить ваши данные в …

29 декабря 2024
P
Pythoner
Фотография
✈️Признайтесь, кто из вас устал от статичных matplotlib графиков? Сегодня поговорим о том, как превратить ваши данные в интерактивные произведения искусства с помощью Plotly и Bokeh! ➡️Начинаем с Plotly Plotly - это как швейцарский нож в мире визуализации. Вот простой пример создания интерактивного графика: import plotly.express as px import pandas as pd # Создаём тестовые данные df = pd.DataFrame({ 'Месяц': ['Янв', 'Фев', 'Март', 'Апр', 'Май'], 'Продажи': [100, 150, 200, 180, 250], 'Прибыль': [20, 30, 40, 35, 50] }) # Создаём интерактивный график fig = px.line(df, x='Месяц', y=['Продажи', 'Прибыль'], title='Динамика продаж и прибыли', template='plotly_dark') # Добавляем hover-эффекты fig.update_traces(mode='lines+markers', hovertemplate='%{y:,.0f}₽') # Сохраняем как HTML или показываем в браузере fig.write_html('sales_dashboard.html') ➡️Bokeh: Мощь серверного рендеринга А теперь давайте создадим что-то более продвинутое с Bokeh: from bokeh.plotting import figure, show from bokeh.layouts import column from bokeh.models import ColumnDataSource, HoverTool import numpy as np # Создаём интерактивный scatter plot x = np.random.normal(0, 1, 1000) y = np.random.normal(0, 1, 1000) source = ColumnDataSource(data=dict( x=x, y=y, size=np.random.uniform(5, 15, 1000), color=['#%06x' % np.random.randint(0, 0xFFFFFF) for _ in range(1000)] )) p = figure(width=800, height=600, title='Интерактивный Scatter Plot') p.scatter('x', 'y', size='size', color='color', alpha=0.6, source=source) # Добавляем интерактивные подсказки hover = HoverTool(tooltips=[ ('X', '@x{0.000}'), ('Y', '@y{0.000}'), ('Размер', '@size{0.00}') ]) p.add_tools(hover) show(p) 👀Продвинутые фичи 🔎Вот несколько крутых возможностей, о которых многие не знают: ➡️Анимированные переходы в Plotly: import plotly.graph_objects as go fig = go.Figure( data=[go.Scatter(x=[1, 2, 3], y=[1, 3, 2])], layout=dict( updatemenus=[dict( type="buttons", buttons=[dict(label="Play", method="animate", args=[None])] )] ) ) ➡️Real-time обновления в Bokeh: from bokeh.plotting import curdoc from functools import partial from tornado.ioloop import IOLoop def update(): source.data['y'] = np.random.rand(100) curdoc().add_periodic_callback(update, 100) # Обновление каждые 100мс ➡️Pro-tip: Для больших датасетов используйте датаклассы и оптимизируйте память: from dataclasses import dataclass from typing import List @dataclass class DataPoint: x: float y: float category: str data_points: List[DataPoint] = [] # Эффективнее, чем DataFrame для больших данных ⚡️Личный опыт: недавно делал дашборд для финтех-проекта. Начал с Matplotlib, намучался с интерактивностью, переписал на Plotly - заказчик в восторге, пользователи счастливы. Время разработки сократилось вдвое! ➡️Что выбрать? - Plotly: если нужны красивые графики "из коробки" и важна простота использования - Bokeh: если работаете с большими данными или нужна глубокая кастомизация 🐍 Pythoner
38 · 2K ·

Рядом в ленте

PPythoner✈️ В Python Pygments — это мощная библиотека для подсветки синтаксиса исходного кода. Она поддерживает огромное количество языков программирования и разметки, аPPythoner✈️Сегодня поговорим о том, как превратить свой код в настоящий искусственный интеллект. ➡️Давайте сразу посмотрим на простой пример в PyTorch: import torch impo
это сообщение
PPythoner🎄 В Python transformers — это мощная и популярная библиотека, разработанная Hugging Face, предоставляющая простой доступ к предобученным моделям для обработки еPPythoner🎄 В Python datasets — это мощная библиотека, разработанная Hugging Face, для удобной загрузки, обработки и управления датасетами, используемыми в задачах машинн

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем