Подобряване на визуализацията на данни с Plotly: промяна на играта за моите проекти

Визуализацията на данни е мощен инструмент в света на науката за данните. Позволява ни да разберем сложни набори от данни и да извлечем полезни прозрения. Наскоро имах възможността да работя по проект за визуализация на данни, където открих трансформиращата сила на Plotly, библиотека с графики с отворен код, която прави интерактивни графики с качество на публикуване онлайн.

Проектът: Визуализация на данни за ChrisCo

Проектът включваше работа с мултинационална компания, ChrisCo, за анализиране на техните показатели за ефективност и извличане на прозрения, които биха могли да издигнат бизнеса им. Наборът от данни включва променливи като разходи за маркетинг, режийни разходи, размер на търговския обект, брой служители и общ брой посещения.

Първоначално използвах matplotlib или seaborn за създаване на стандартни, монотонни, почти скучни визуализации. Въпреки това, когато попаднах на Plotly, бях поразен от възможностите му.

Силата на сюжета

Plotly е динамичен и интерактивен инструмент за визуализация, който извежда визуализацията на данни на следващото ниво. Позволява ви да създавате над 40 различни типа интерактивни диаграми, включително 3D диаграми, статистически графики, SVG карти и др.

В моя проект интерактивните визуализации на Plotly ми позволиха да изследвам връзките между променливите по начин, по който статичните графики не можеха. Например, успях да създам матрица на разпръсната диаграма, за да визуализирам връзките между маркетинговите разходи, режийните разходи, размера на търговския обект, броя на персонала и общия брой посещения. Всяка точка на диаграмите на разпръскване представлява един търговски обект, а цветът на точката представлява общия брой посещения в този търговски обект. Тази визуализация помогна да се идентифицират модели и връзки, които бяха от решаващо значение за вземането на решения.

Друга мощна характеристика на Plotly е способността му да представя множество измерения едновременно. Например, създадох интерактивна балонна диаграма, за да разбера връзката между размера на магазина, общия брой посещения и размера на персонала. Тази визуализация даде представа за това как размерът на магазина и числеността на персонала могат да повлияят на броя посещения, които получава.

Извеждане на проекта на следващото ниво

С Plotly успях да пренеса проекта си на следващото ниво. Интерактивните визуализации не само предоставиха по-задълбочени прозрения, но и направиха данните по-ангажиращи и разбираеми.

Например, успях да идентифицирам най-добрите и най-лошите търговски обекти от всички магазини на ChrisCo. Тази информация беше от решаващо значение за ChrisCo, за да разбере откъде да започне да предприема мерки и как да използва работната си сила най-ефективно.

Вземете практически: Вашият ред е да експериментирате :D

В кодовия блок по-долу съм включил демонстрация на Plotly и неговите невероятни възможности. Поставете кода във вашата IDE и го изпълнете, за да видите колко невероятен е Plotly.

Уверете се, че библиотеката Plotly и Pandas е инсталирана, преди да стартирате кода. Можете да направите това, като изпълните тези команди на вашия терминал.

pip install plotly
pip install pandas

Харесва ми изживяването за моите демонстрации да бъде възможно най-безпроблемно. Дори в този кодов блок извлякох набора от данни от URL адрес и го подадох в pandas, вместо да ви помоля да изтеглите CSV, да дефинирате пътя в кода, да получите някои грешки, да ги поправите и след това да видите вашите визуализации след като изминат милион секунди 😂. Така че лично аз бих предпочел да не се налага да инсталирате неща сами! Може би следва да напиша статия за магическите сили на Docker. Сега ще спра да бръщолевя 💀

import pandas as pd
import plotly.express as px

# URL of the Iris dataset
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data"

# Define the column names
columns = ["sepal_length", "sepal_width", "petal_length", "petal_width", "class"]

# Read the dataset from the URL
iris_data = pd.read_csv(url, header=None, names=columns)

# Convert the class labels into numerical values
iris_data['class_code'] = iris_data['class'].astype('category').cat.codes

# 3D Scatter plot for Sepal Length, Sepal Width, and Petal Length
fig1 = px.scatter_3d(iris_data, x="sepal_length", y="sepal_width", z="petal_length", color="class", title="3D Visualization of Iris Features")
fig1.show()

# Parallel Coordinates plot to visualize multi-dimensional data
fig2 = px.parallel_coordinates(iris_data, color="class_code", title="Parallel Coordinates Plot of Iris Features")
fig2.show()

# Sunburst Chart to represent hierarchical data (for demonstration, let's categorize the data by sepal length ranges)
iris_data['sepal_length_range'] = pd.cut(iris_data['sepal_length'], bins=[4, 5, 6, 7, 8], labels=['4-5', '5-6', '6-7', '7-8'])
fig3 = px.sunburst(iris_data, path=['sepal_length_range', 'class'], values='sepal_length', title="Sunburst Chart of Iris Sepal Length Ranges")
fig3.show()

Този код използва набора от данни IRIS от хранилището на UCI ML и използва силата на Plotly, за да създаде невероятни визуализации и да ги покаже на вашия браузър. Опитайте, 3D Scatter диаграмата изглежда сякаш някой я е направил в Blender! Но в действителност Plotly направи това възможно с Javascript на бекенда. невероятно

Заключение

В заключение, Plotly промени играта за моя проект за визуализация на данни. Неговите интерактивни и динамични визуализации ми позволиха да разкрия по-дълбоки прозрения и да представя данните по по-ангажиращ начин. Независимо дали сте учен по данни, бизнес анализатор или някой, който просто обича да си играе с данни, силно препоръчвам да опитате Plotly. Това може просто да изведе вашата игра за визуализация на данни на следващото ниво, точно както се случи с мен!

За прозрения, които надхвърлят обикновеното, не забравяйте да ме следвате точно тук в Medium, LinkedIn и GitHub. На ръба съм да разкрия статия за GPT Engineer, един от онези инструменти, които са доказателство за факта колко бързо се променя CS и Tech пейзажът всеки ден с навлизането на AI. Останете свързани, за да изследвате авангардните технологии с мен!

Пази се! Ще се видим в следващия :)