def set_value(self, number: (float, int)):
self.canvas.delete('<STR_LIT:all>')<EOL>self.canvas.create_image(<NUM_LIT:0>, <NUM_LIT:0>, image=self.image, anchor='<STR_LIT>')<EOL>number = number if number <= self.max_value else self.max_value<EOL>number = <NUM_LIT:0.0> if number < <NUM_LIT:0.0> else number<EOL>radius = <NUM_LIT> * self.size/<NUM_LIT><EOL>angle_in_radians = (<NUM_LIT> * cmath.pi / <NUM_LIT>)+ number / self.max_value * (<NUM_LIT> * cmath.pi / <NUM_LIT>)<EOL>center = cmath.rect(<NUM_LIT:0>, <NUM_LIT:0>)<EOL>outer = cmath.rect(radius, angle_in_radians)<EOL>if self.needle_thickness == <NUM_LIT:0>:<EOL><INDENT>line_width = int(<NUM_LIT:5> * self.size / <NUM_LIT:200>)<EOL>line_width = <NUM_LIT:1> if line_width < <NUM_LIT:1> else line_width<EOL><DEDENT>else:<EOL><INDENT>line_width = self.needle_thickness<EOL><DEDENT>self.canvas.create_line(<EOL>*self.to_absolute(center.real, center.imag),<EOL>*self.to_absolute(outer.real, outer.imag),<EOL>width=line_width,<EOL>fill=self.needle_color<EOL>)<EOL>self.readout['<STR_LIT:text>'] = '<STR_LIT>'.format(number, self.unit)<EOL>
Sets the value of the graphic

:param number: the number (must be between 0 and \
'max_range' or the scale will peg the limits
:return: None