From 63464d1ecb8dc8b7f337534007f39dccea8fb51c Mon Sep 17 00:00:00 2001 From: PySimpleGUI Date: Mon, 31 Jan 2022 08:48:50 -0500 Subject: [PATCH] Updated Bar Char Demo - I thought this update was done long long ago! DOH! --- DemoPrograms/Demo_Bar_Chart.py | 36 ++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/DemoPrograms/Demo_Bar_Chart.py b/DemoPrograms/Demo_Bar_Chart.py index 5bd71939..51d8e1b0 100644 --- a/DemoPrograms/Demo_Bar_Chart.py +++ b/DemoPrograms/Demo_Bar_Chart.py @@ -19,31 +19,37 @@ import random # '--''--''--''--''--''--''--''--''--' -BAR_WIDTH = 50 -BAR_SPACING = 75 -EDGE_OFFSET = 3 -GRAPH_SIZE = (500,500) -DATA_SIZE = (500,500) +BAR_WIDTH = 50 # width of each bar +BAR_SPACING = 75 # space between each bar +EDGE_OFFSET = 3 # offset from the left edge for first bar +GRAPH_SIZE= DATA_SIZE = (500,500) # size in pixels -sg.theme('Light Brown 1') - -graph = sg.Graph(GRAPH_SIZE, (0,0), DATA_SIZE) +sg.theme('Light brown 1') layout = [[sg.Text('Labelled Bar graphs using PySimpleGUI')], - [graph], + [sg.Graph(GRAPH_SIZE, (0,0), DATA_SIZE, k='-GRAPH-')], [sg.Button('OK'), sg.T('Click to display more data'), sg.Exit()]] -window = sg.Window('Window Title', layout) +window = sg.Window('Bar Graph', layout, finalize=True) + +graph = window['-GRAPH-'] # type: sg.Graph while True: - event, values = window.read() - if event in (sg.WIN_CLOSED, 'Exit'): - break graph.erase() for i in range(7): - graph_value = random.randint(0, 400) + graph_value = random.randint(0, GRAPH_SIZE[1]) graph.draw_rectangle(top_left=(i * BAR_SPACING + EDGE_OFFSET, graph_value), - bottom_right=(i * BAR_SPACING + EDGE_OFFSET + BAR_WIDTH, 0), fill_color='blue') + bottom_right=(i * BAR_SPACING + EDGE_OFFSET + BAR_WIDTH, 0), + fill_color=sg.theme_button_color()[1]) + graph.draw_text(text=graph_value, location=(i*BAR_SPACING+EDGE_OFFSET+25, graph_value+10)) + + # Normally at the top of the loop, but because we're drawing the graph first, making it at the bottom + event, values = window.read() + + if event in (sg.WIN_CLOSED, 'Exit'): + break + + window.close() \ No newline at end of file