diff --git a/README.md b/README.md new file mode 100644 index 0000000..c4505d9 --- /dev/null +++ b/README.md @@ -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()