Crearea de artă bazată pe date | R-BLOGGERS

URMĂREȘTE-NE
16,065FaniÎmi place
1,142CititoriConectați-vă

(Acest articol a fost publicat pentru prima dată pe R pe Nicola Rennieși a contribuit cu drag la R-Bloggers). (Puteți raporta problema despre conținutul de pe această pagină aici)


Doriți să vă împărtășiți conținutul pe R-Bloggers? Faceți clic aici dacă aveți un blog sau aici dacă nu.

Ce este arta bazată pe date?

La început am crezut răspunsul la întrebare Ce este arta de date? ar fi relativ simplu. Am început inițial cu definiția că Arta datelor se află undeva între vizualizarea datelor și arta generativă. În cazul în care vizualizarea datelor își propune să reprezinte cu exactitate datele pentru a comunica informații, generative Art folosește algoritmi pentru a crea imagini unice care includ adesea aleatoriu sau reguli predefinite. La fel ca arta generativă, scopul principal al artei de date este impactul artistic, mai degrabă claritate sau analiză. În ceea ce privește reflecția, am realizat că această definiție exclude unele tipuri de artă de date – în principal cele create fără utilizarea unui computer. Deci, deși cred că această definiție este încă oarecum corectă, se aplică numai unui subset de artă de date. După un pic de gândire, definiția cu care am venit este:

Arta de date (sau artă bazată pe date): un gen de artă care transformă datele în compoziții plăcute din punct de vedere estetic, cu scopul de a evoca emoții sau de a afișa modele ascunse.

În special, această definiție este suficient de largă pentru a include lucrări create de mână, cum ar fi tablouri și pături croșetate, piese non-vizuale, cum ar fi reprezentări muzicale, precum și vizualizările digitale mai evidente, abstracte din definiția mea originală. În ceea ce privește locul în care se încadrează în peisajul mai larg al lucrărilor artistice, diagrama de mai jos face o încercare de a ilustra acest lucru. Cred că arta datelor este mult mai abstractă decât vizualizările tradiționale de date, dar mai puțin abstracte în acea artă generativă. De asemenea, este mai puțin probabil să fie generat de computer decât arta generativă, dar mai probabil să fie generat de computer decât un pictură portret.

Împrăştia

De asemenea, am cerut lui Chatgpt să-mi ofere o definiție a artei bazate pe date și a spus: Arta bazată pe date este o lucrare creativă care transformă datele brute în forme vizuale sau interactive folosind algoritmi, modele sau intrări în timp real.. Personal, cred că doar prima jumătate a acestei propoziții este necesară și corectă.

De ce este importantă arta bazată pe date?

Atunci când ne gândim la vizualizările datelor, de multe ori ne gândim la cum să transmitem un mesaj cât mai clar și sincer posibil – gândindu -ne la elemente precum axe adecvate, titluri informative și tipuri de diagrame. Nu ne gândim neapărat la acești factori atunci când creăm artă de date. Și asta pentru că are un scop diferit. Scopul artei datelor nu este de a comunica statistici sau de a explora date înainte de analize ulterioare. Scopul principal (în opinia mea) al artei de date este de a evoca emoția. Arta poate face datele mai memorabile și mai impactante, mai ales atunci când datele se referă la subiecte sensibile sau emoționale. Când oamenii se conectează emoțional cu datele, sunt mai susceptibili să se angajeze cu ea, să înțeleagă semnificația acesteia și să reflecte asupra implicațiilor sale. Această conexiune emoțională poate determina conștientizarea, inspira acțiune sau poate provoca perspective în moduri în care numerele brute sau vizualizările tradiționale de date nu pot.

Arta datelor poate avea, de asemenea, un alt beneficiu – poate ajuta la protejarea împotriva prejudecății de confirmare. Dacă ne uităm la o vizualizare tradițională a datelor, este posibil să căutăm modele și să vedem ce ne așteptăm să vedem. De exemplu, concentrându -se pe o categorie de dobândă, dar fără a acorda atâta atenție modelelor din alte categorii. Dar când ne uităm la datele de date, care este cel mai adesea abstractizată și fără etichete textuale pentru a identifica datele, ne permite să vedem tipare fără preconcepțiile noastre, înainte de a știm ce date de bază sunt reprezentate.

Crearea propriei tale arte bazate pe date

Nu trebuie să vă identificați ca artist sau ca expert în vizualizarea datelor, pentru a crea artă bazată pe date. Nici nu trebuie să fiți capabil să utilizați software de procesare sau vizualizare a datelor.

Ce vrei să spui?

Ca și în cazul vizualizării datelor, primul lucru la care să te gândești este scopul muncii tale. Ce vrei să arăți? Ce vrei să vadă oamenii? Ce vrei să simtă oamenii? Adesea este mai ușor să te gândești la aceste întrebări în contextul unui exemplu. Așadar, să luăm date de speranță de viață din lumea noastră în date ca exemplu și să ne gândim la modul în care am putea crea artă de date.

Ce povești am putea spune cu arta de date?

  • Diferența în speranța de viață între cele mai bogate și cele mai sărace țări din lume?
  • Cum s -a schimbat speranța de viață în timp pentru o anumită țară?
  • Modelele din clasamentul țărilor pe baza speranței de viață?

Să mergem pentru ultima opțiune.

Începând cu schițarea

Indiferent dacă utilizați instrumente de pix și hârtie sau digital, schițarea este o modalitate excelentă de a explora idei atât pentru arta de date, cât și pentru vizualizările de date. Este o modalitate rapidă de a contura o idee și (pentru că este doar o schiță) este ușor să o arunci dacă nu funcționează!

ZgotmplzZgotmplz

Schițele dvs. ar putea fi inspirate de diferite tipuri de diagrame, de alte piese de artă pe care le -ați văzut sau de tiparele pe care le vedeți într -un obiect aleatoriu! În schițele de mai sus, Axa X. arată timpul, care este o abordare comună în datele vizualisaton și în Axa y arată clasamentul. De asemenea, s -ar putea să vă gândiți la modul în care puteți prezenta datele folosind un tip de diagramă care nu ar fi recomandat pentru o vizualizare tradițională a datelor. De exemplu, puteți prezenta date de clasare într -o diagramă proporțională?

Adaptându -se dintr -un grafic

DiagramăDiagramă

Pentru a o transforma dintr -o vizualizare a datelor într -o piesă de date de date, există câteva ajustări diferite pe care le putem încerca:

  • Îndepărtați titlul, subtitrarea și textul de legendă, precum și etichetele și titlurile axelor pentru a -l face imediat mai abstract.
  • Îndepărtați etichetele și legendele, poate și linii de grilă.
  • Alegeți culori care sunt plăcute din punct de vedere estetic, chiar dacă unele grupuri nu sunt la fel de distincte din punct de vedere vizual. Poate că lipsa de distincție între grupuri este ceva ce încercați să arătați?
  • Joacă -te cu diferite raporturi de aspect și aranjamente. Încercați diferite sisteme de coordonate.
  • Strat mai multe diagrame una peste alta.

Desigur, acestea sunt doar sugestii cu care să te joci – arta ta este orice vrei să fie?

PătratPătrat

Afișați codul: Python sau R

Piton

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import pandas as pd
import numpy as np
import plotnine as gg
import matplotlib.pyplot as plt

# Data
life_expectancy = pd.read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/main/data/2023/2023-12-05/life_expectancy.csv')

# Colours
bg_col = "#262626"
text_col = "#e5e5e5"

# Wrangling
plot_data = (life_expectancy
 .query("Year >= 2011 and Year <= 2021")
 .groupby("Year", group_keys=False)
 .apply(lambda x: x.nlargest(8, "LifeExpectancy"))
 .sort_values(by=("Year", "LifeExpectancy"), ascending=(True, False))
 .reset_index(drop=True)
)
plot_data("rank") = plot_data.groupby("Year").cumcount() + 1
plot_data("rank") = plot_data("rank").astype(str)

# Colours
colors = ("#5A5156", "#E4E1E3", "#F6222E", "#FE00FA", "#16FF32", "#3283FE", "#FEAF16", "#B00068", "#1CFFCE", "#90AD1C", "#2ED9FF", "#DEA0FD", "#AA0DFE", "#F8A19F", "#325A9B", "#C4451C", "#1C8356")

# Plot
g = (
 gg.ggplot()
 + gg.geom_point(gg.aes(x="Year", y="rank", color="Entity"), data=plot_data, size=2.5)
 + gg.geom_line(gg.aes(x="Year", y="rank", color="Entity", group="Entity"), data=plot_data)
 + gg.scale_x_continuous(expand=(0, 0.1), limits=(2010.75, 2021.25), breaks=np.arange(2011, 2022), minor_breaks=np.arange(2011, 2021.25, 0.25))
 + gg.scale_y_discrete(limits=reversed)
 + gg.scale_color_manual(values=colors)
 + gg.theme_light()
 + gg.theme(
 legend_position="none",
 plot_margin=0,
 axis_title=gg.element_blank(),
 axis_text=gg.element_blank(),
 plot_background=gg.element_rect(fill=bg_col, color=bg_col),
 panel_background=gg.element_rect(fill=bg_col, color=bg_col),
 panel_grid_major_y=gg.element_line(color=text_col, alpha=0.5, size=0.1),
 panel_grid_major_x=gg.element_line(color=text_col, alpha=0.5, size=0.1),
 panel_grid_minor_x=gg.element_line(color=text_col, alpha=0.2, size=0.1),
 panel_border=gg.element_rect(color=text_col, alpha=0.7, fill=None, size=0.1),
 axis_ticks=gg.element_blank(),
 figure_size = (6, 6)
 )
)
g.draw()

R

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
library(tidyverse)

# Data
life_expectancy <- readr::read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/main/data/2023/2023-12-05/life_expectancy.csv")

# Colours
bg_col <- "#262626"
text_col <- "#e5e5e5"

# Wrangling
plot_data <- life_expectancy |>
 filter(Year %in% seq(2011, 2021, by = 1)) |>
 group_by(Year) |>
 slice_max(LifeExpectancy, n = 8) |>
 arrange(Year, desc(LifeExpectancy)) |>
 mutate(rank = row_number()) |>
 ungroup() |>
 mutate(rank = factor(rank, levels = 1:8))

# Colours
colors <- c("#5A5156", "#E4E1E3", "#F6222E", "#FE00FA", "#16FF32", "#3283FE", "#FEAF16", "#B00068", "#1CFFCE", "#90AD1C", "#2ED9FF", "#DEA0FD", "#AA0DFE", "#F8A19F", "#325A9B", "#C4451C", "#1C8356")

# Plot
g <- ggplot() +
 geom_point(
 data = plot_data,
 mapping = aes(x = Year, y = rank, colour = Entity),
 size = 2.5
 ) +
 geom_line(
 data = plot_data,
 mapping = aes(x = Year, y = rank, colour = Entity, group = Entity)
 ) +
 scale_x_continuous(
 expand = expansion(0, 0.1),
 limits = c(2010.75, 2021.25),
 breaks = 2011:2021,
 minor_breaks = seq(2011, 2021, by = 0.25)
 ) +
 scale_y_discrete(limits = rev) +
 scale_colour_manual(values = colors) +
 theme_void() +
 theme(
 legend.position = "none",
 plot.margin = margin(5, 10, 5, 10),
 axis.title = element_blank(),
 axis.text = element_blank(),
 plot.background = element_rect(fill = bg_col, colour = bg_col),
 panel.background = element_rect(fill = bg_col, colour = bg_col),
 panel.grid.major.y = element_line(colour = alpha(text_col, 0.5), linewidth = 0.1),
 panel.grid.major.x = element_line(colour = alpha(text_col, 0.5), linewidth = 0.1),
 panel.grid.minor.x = element_line(colour = alpha(text_col, 0.2), linewidth = 0.1),
 panel.border = element_rect(colour = alpha(text_col, 0.7), fill = NA, linewidth = 0.1),
 axis.ticks = element_blank()
 )
g

Deși acest exemplu este creat folosind Python, nu trebuie să utilizați instrumente digitale pentru a crea date de date. Aceeași piesă de artă ar fi putut fi creată cu hârtie și creioane la fel!

Inspirație și exemple

Dacă sunteți în căutarea mai multor exemple de artă de date care să vă inspire, iată câteva pe care le recomand:

  • Exemple de arte de date create de studenții de la Colegiul Amherst care folosesc date despre studii care investighează disparitățile rasiale și etnice în medicina reproductivă pot fi găsite la katcorr.github.io/this-art-is-hard. Lucrarea lor a inspirat piesa afișată în imaginea de copertă a acestei postări pe blog.

  • Galeria mea de artă de date este colectarea exemplelor de artă de date, care include codul R sau Python utilizat pentru a -l crea. Fiecare exemplu include o sinopsisă a datelor de bază și modul în care arta este utilizată pentru a le reprezenta.

Captură de ecranCaptură de ecran

  • Grafiti de mediu are multe exemple de artă inspirată de știința schimbărilor climatice, cu fiecare lucrare digitală derivată dintr -un grafic, o hartă, un cuvânt sau un număr legat de subiect.

  • Galeria Tableau Data Art prezintă exemple frumoase de vizualizări și artă de date create cu Tableau.

Dominic Botezariu
Dominic Botezariuhttps://www.noobz.ro/
Creator de site și redactor-șef.

Cele mai noi știri

Pe același subiect

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.