Added README.md
This commit is contained in:
82
README.md
Normal file
82
README.md
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
#!/bin/python3
|
||||||
|
from p5 import *
|
||||||
|
from regions import get_region_coords
|
||||||
|
|
||||||
|
region_list = []
|
||||||
|
colours = {}
|
||||||
|
map_image = None
|
||||||
|
|
||||||
|
def preload():
|
||||||
|
global map_image
|
||||||
|
map_image = load_image('mercator.jpeg')
|
||||||
|
|
||||||
|
def draw_pin(x, y, colour):
|
||||||
|
fill(colour)
|
||||||
|
ellipse(x, y, 10, 10) # x, y, width, height
|
||||||
|
|
||||||
|
def draw_data():
|
||||||
|
red_value = 255 # Set a starting value for red
|
||||||
|
|
||||||
|
for region in region_list:
|
||||||
|
region_name = region['region'] # Get the name of the region
|
||||||
|
try:
|
||||||
|
region_coords = get_region_coords(region_name) # Use the name to get coordinates
|
||||||
|
if region_coords:
|
||||||
|
region_x = region_coords['x'] # Get the x coordinate
|
||||||
|
region_y = region_coords['y'] # Get the y coordinate
|
||||||
|
region_colour = Color(red_value, 0, 0) # Set the pin colour
|
||||||
|
colours[region_colour.hex] = region
|
||||||
|
draw_pin(region_x, region_y, region_colour) # Draw the pin
|
||||||
|
red_value -= 1 # Change the red value
|
||||||
|
if red_value < 0:
|
||||||
|
red_value = 0
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Error processing {region_name}: {e}")
|
||||||
|
|
||||||
|
# Put code to run once here
|
||||||
|
def setup():
|
||||||
|
size(991, 768)
|
||||||
|
load_data('gdp.csv')
|
||||||
|
no_loop() # Only draw once, not continuously
|
||||||
|
|
||||||
|
|
||||||
|
# Put code to run every frame here
|
||||||
|
def draw():
|
||||||
|
# Draw the background image
|
||||||
|
image(
|
||||||
|
map_image, # The image to draw
|
||||||
|
0, # The x of the top-left corner
|
||||||
|
0, # The y of the top-left corner
|
||||||
|
width, # The width of the image
|
||||||
|
height # The height of the image
|
||||||
|
)
|
||||||
|
|
||||||
|
# Draw all the data pins
|
||||||
|
draw_data()
|
||||||
|
|
||||||
|
|
||||||
|
# Put code to run when the mouse is pressed here
|
||||||
|
def mouse_pressed():
|
||||||
|
pixel_colour = Color(get(mouse_x, mouse_y)).hex
|
||||||
|
if pixel_colour in colours:
|
||||||
|
facts = colours[pixel_colour]
|
||||||
|
print(facts['region'])
|
||||||
|
print(facts['gdp'])
|
||||||
|
else:
|
||||||
|
print('Region not detected')
|
||||||
|
|
||||||
|
|
||||||
|
def load_data(file_name):
|
||||||
|
with open(file_name) as f:
|
||||||
|
for line in f:
|
||||||
|
line = line.strip() # Remove whitespace
|
||||||
|
if line: # Skip empty lines
|
||||||
|
info = line.split(',')
|
||||||
|
# Change the dictionary to match the data you're using
|
||||||
|
region_dict = {
|
||||||
|
'region': info[0],
|
||||||
|
'gdp': info[1]
|
||||||
|
}
|
||||||
|
region_list.append(region_dict)
|
||||||
|
|
||||||
|
run()
|
||||||
Reference in New Issue
Block a user