Data is Beautiful

3842 readers
83 users here now

Be respectful

founded 2 years ago
MODERATORS
1
 
 

Hello everyone,

I am at the moment the only active mod of this community, which is usually not recommended.

I am hence looking for other mods. The moderation load is very low, people on this community are usually nice.

Please comment with a mander.xyz account (reports do not federate) below if you want to become a mod.

2
 
 
3
4
 
 

If you want to test the functionalities of the website without creating an account:

Id: eutrade@sploing.be password: motdepassecompliqué

5
 
 
6
 
 

SOTXE6BzGagUYTe.webp

OZ2yi6LdozkDI0Z.webp

7
 
 
8
 
 

In North America, the 80 USD price for Grand Theft Auto VI is highly accessible, requiring only 3.8 hours of labor for the average worker in the United States and 5.2 hours in Canada. While Mexico presents a more significant barrier with a 36.0-hour requirement, the region as a whole remains the primary target for the publisher’s current economic model, where digital-only distribution functions without imposing a prohibitive burden on the median income.

Central America faces a stark economic divide, where the cost of the game exacerbates existing inequalities. In relatively stable economies like Costa Rica (21.8 hours) and Panama (25.6 hours), the purchase remains manageable; however, across much of the isthmus, the burden intensifies, culminating in Nicaragua, where a staggering 102.0 hours of labor are required. This creates a deeply exclusionary environment where the lack of a physical resale market forces lower-income populations to sacrifice substantial portions of their monthly earnings or opt out of the legal market entirely.

South America presents a landscape of extreme financial disparities, ranging from the relative stability of Uruguay (16.9 hours) and Chile (27.4 hours) to the severe structural crises in nations like Bolivia (63.9 hours) and Surinam (218.1 hours). Within this context, the situation in Cuba stands as a unique, tragic anomaly; due to the systemic collapse of the currency and the reliance on an informal black market, a worker would theoretically need to dedicate 1562.6 hours of labor to afford the game.

Author: u/maven.mapping

Partner: u/the.world.in.maps

9
 
 
10
11
 
 

Tools used were primarily Google's Antigravity with Opus 4.6/Gemini Flash 3.5, and Cursor with Composer 2.5. The code is Python with sqlite3 and vanilla JavaScript. It has a map that allows you to filter by month, weekday, rider type and activity. This can be used to pinpoint the locations with the most activity by rider type and time of year. The difference in behavior between member and casual riders is pretty interesting. Divvy didn't seem to do too well last year during this period, but hopefully will have a stronger 2026. I worked on this briefly a while ago during my data analysis certificate, I've improved it and now I'm hosting it live. If you have any issues with it please let me know, there may be a few bugs. Thanks for reading.

Interactive charts/map can be viewed live at: https://masland.tech/divvy/

Quick demonstration video: https://i.imgur.com/uhbKYZ5.mp4

Data was sourced from here: https://divvybikes.com/system-data

12
13
 
 
14
 
 
15
 
 
16
17
 
 
18
 
 

How people allocate their 24 hours across commuting, entertainment, housework, and other daily activities from 1920 to 2026.

All figures represent the average U.S. adult aged 25 to 35 during each period, ensuring comparability across decades. The data reflects long-term shifts driven by industrialization, urbanization, television, the internet, smartphones, remote work, and changing social structures. The chart excludes sleep, work, and other activities with minimal variation, focusing instead on structural changes across decades.

19
20
21
 
 

OGDF C++ library provides some graph generators, I made it possible to use them from terminal, not by writing C++ client code. Got some pleasant pictures, here they are.

  1. Graphs of ~32 nodes, FMMM layout.
  2. Graphs of ~512 nodes, FMMM layout.
  3. Graphs of ~512 nodes, ForceAtlas2 layout.

Each node is labeled by it's degree - count of incoming/outgoing edges. Colored accordingly, from blue to red.

Powershell code for creating these pictures goes like that:

# define params for each generator
$genLines = @'
complement --n 32 --directed false --allowSelfLoops false
regularLatticeGraph --n 32 --k 4
regularTree --n 32 --children 2
completeGraph --n 32
completeBipartiteGraph --n 16 --m 16
wheelGraph --n 32
cubeGraph --n 5
globeGraph --meridians 8 --latitudes 4
suspension --s 32
gridGraph --n 8 --m 4 --loopN false --loopM false
petersenGraph --n 16 --m 2
emptyGraph --nodes 32
randomRegularGraph --n 32 --d 4
randomGraph --n 32 --m 100
randomSimpleGraph --n 32 --m 100
randomSimpleGraphByProbability --n 32 --pEdge 0.2
randomSimpleConnectedGraph --n 32 --m 50
randomBiconnectedGraph --n 32 --m 60
randomPlanarConnectedGraph --n 32 --m 60
randomPlanarBiconnectedGraph --n 32 --m 60 --multiEdges false
randomPlanarBiconnectedDigraph --n 32 --m 60 --p 0.0 --multiEdges false
randomUpwardPlanarBiconnectedDigraph --n 32 --m 60
randomPlanarCNBGraph --n 32 --m 60 --b 5
randomTriconnectedGraph --n 32 --p1 0.5 --p2 0.5
randomPlanarTriconnectedGraph --n 32 --m 80
randomPlanarTriconnectedGraph --n 32 --p1 0.3 --p2 0.3
randomTree --n 32
randomTree --n 32 --maxDeg 4 --maxWidth 10
randomDigraph --n 32 --p 0.1
randomSeriesParallelDAG --edges 60 --p 0.5 --flt 0.0
randomGeometricCubeGraph --nodes 32 --threshold 0.3 --dimension 2
randomWaxmanGraph --nodes 32 --alpha 0.5 --beta 0.2 --width 1.0 --height 1.0
preferentialAttachmentGraph --nodes 32 --minDegree 2
randomWattsStrogatzGraph --n 32 --k 4 --probability 0.3
randomHierarchy --n 32 --m 3 --planar true --singleSource true --longEdges false
pruneEdges --max_edges 60 --min_deg 2
'@

# generate graphs and layout/render with GephiCommander
$genLines | % {
$genCode = $_ -replace '\s+'
$outFile = Join-Path (gi ./img/) "$genCode$(Get-Date -Format FileDateTime).png"
$generatorArgs = $_ -split ' '
$expr = /bin/echo `& $ogdfCli --generate @generatorArgs --out-file delme.dot
Invoke-Expression $expr
@(
  @{op='import'; file='delme.dot' }
  @{op='preview'; 'background-color'='#171717'; 'nodeLabelShow'=$true; }
  @{op='colorNodesBy';column='degree'; mode='ranking'}
  @{op='labelNodesBy';column='degree'; }
  @{op='layouts'; values=@(
    @{name='ForceAtlas2'; steps=200}
    @{name='Expansion'; 'Density'=5000; steps=1;  }
  )}
  @{op='export';file=$outFile; timestamp=$false; resolution=@(512,512); }
) | ConvertTo-Json -d 9 | java -jar $gephiCommander -
$cmdEscaped = $generatorArgs -join ' '
magick $outFile -gravity SouthWest -undercolor "rgba(0,0,0,0.5)" -fill white -pointsize "%[fx:int(h*0.04)]" -annotate +10+10 $cmdEscaped $outFile
}

# Put all pngs into $files var and combine them into a grid
magick montage $files -tile "${cols}x${rows}" -geometry "400x400+2+2" -background "black" "img/grid_output$(Get-Date -Format FileDateTime).png"
22
 
 
23
 
 
24
 
 

To read the essay, check out the main page here: https://anatomyof.ai/

25
 
 
view more: next ›