How to undraw plot with Zelle graphics?

2024/10/13 18:27:03

This is a code problem for Python 3.5.2 using John Zelle's graphics.py:

I have spent a good amount of time looking for the answer here, but just can not figure it out. The function undraw() exists just like getMouse(). But it seems like it do not work for the plot() command, only the draw() command. What am I doing wrong? And how can I keep the window open, but erase the previous the plot before the next one is drawn?

pdf documentation for the functions of graphics:

    http://mcsp.wartburg.edu/zelle/python/graphics/graphics.pdf

win = GraphWin("Plot",500,500) # Creates a windowfor m in range(0,j): # Loop for each function# Randomizes a color for each functioncolor = random.choice( ['red','black','green','yellow','pink','blue'] )for h in range(0,t): # Loop for each pair of values "x,y"# Find points and plot each point in winwin.plot(axis[h],points[m][h],color)win.getMouse() # Pause before clickingwin.undraw() # AttributeError: 'GraphWin' object has no attribute 'undraw'
Answer

The first issue is that undraw() is a method of GraphicsObject, not GraphWin, so win.undraw() is simply incorrect.

The second issue is that plot() is a low level pixel setting method that does not keep track of what it did at the Zelle Graphics level, unlike objects that are drawn.

However, the underpinning is Tkinter which does keep track of objects that it draws, and GraphWin is a subclass of Canvas, so you can do:

win = GraphWin("Plot", 500, 500) # Creates a windowfor m in range(j):  # Loop for each functioncolor = random.choice(['red', 'black', 'green', 'yellow', 'pink', 'blue']) # Randomizes a color for each functionfor h in range(t):  # Loop for each pair of values "x, y"win.plot(axis[h], points[m][h], color) # Find points and plot each point in winwin.getMouse()  # Pause before clickingwin.delete("all")  # Clear out old plot
https://en.xdnf.cn/q/118050.html

Related Q&A

/bin/sh: line 62: to: command not found

I have a python code in which I am calling a shell command. The part of the code where I did the shell command is:try:def parse(text_list):text = \n.join(text_list)cwd = os.getcwd()os.chdir("/var/…

Using PyMySQL with MariaDB

I have read this article about switching from MySQL to MariaDB on Ubuntu. The article claims that it would be not problem to switch between the two. Currently, I am using PyMySQL to connect to my MySQL…

Overloading str in Python

I have code that looks like the following:class C(str):def __init__(self, a, b):print(init was called!)super().__init__(b)self.a = ac = C(12, c)When I try to run it, it gives me the following error:Tra…

Why cant I install Pillow on my mac? It gives some errors

here is the error from installing Pillow. Im using OS X Mavericks. I tried installing Pillow through pip install.._imaging.c:391:28: warning: implicit conversion loses integer precision: long to int [-…

what on earth the unicode number is?

in python:>>> "\xc4\xe3".decode("gbk").encode("utf-8") \xe4\xbd\xa0 >>> "\xc4\xe3".decode("gbk") u\u4f60we can get two conclusions:1.…

explicitly setting style sheet in python pyqt4?

In pyqt standard way for setting style sheet is like this:MainWindow.setStyleSheet(_fromUtf8("/*\n" "gridline-color: rgb(85, 170, 255);\n" "QToolTip\n" "{\n" &qu…

missing required Charfield in django is saved as empty string and do not raise an error

If I try to save incomplete model instance in Django 1.10, I would expect Django to raise an error. It does not seem to be the case.models.py:from django.db import modelsclass Essai(models.Model):ch1 =…

Beautiful soup missing some html table tags

Im trying to extract data from a website using beautiful soup to parse the html. Im currently trying to get the table data from the following webpage :link to webpageI want to get the data from the tab…

403 error Not Authorized to access this resource/api Google Admin SDK in web app even being admin

Im struggling to find the problem since two days without any idea why I get this error now even though the app was fully functional one month before.Among the tasks done by the web app, it makes an Adm…

Kivy - My ScrollView doesnt scroll

Im having problems in my Python application with Kivy library. In particular Im trying to create a scrollable list of elements in a TabbedPanelItem, but I dont know why my list doesnt scroll.Here is my…