Advertisement
Guest User

Untitled

a guest
Aug 20th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.20 KB | None | 0 0
  1. import ikkunasto
  2.  
  3.  
  4. tila = {
  5. 'tekstilaatikko': None,
  6. 'pisteet': []
  7. }
  8.  
  9. def valitse_datapiste(event):
  10. """Ottaa vastaan hiiren klikkaustapahtuman ja lukee siitä
  11. datapisteen x- ja y-arvot. Arvot tulosteetaan tekstilaatikkoon sekä
  12. talletetaan ohjelman tilasanakirjassa olevaan pisteet-listaan."""
  13.  
  14. while True:
  15. pisteet = []
  16. try:
  17. if event.xdata == None or event.ydata == None:
  18. ikkunasto.kirjoita_tekstilaatikkoon(tila["tekstilaatikko"],
  19. "Klikkasit kuvaajan ulkopuolelta")
  20. except AttributeError:
  21. print('Klikki ei ole kuvaajassa!')
  22. break
  23. else:
  24. x = float(event.xdata)
  25. y = float(event.ydata)
  26. viesti = 'Käyrän arvo pisteessä x={:.2f} on {:.2f}'.format(x, y)
  27. tekstilaatikko = ikkunasto.kirjoita_tekstilaatikkoon(tila["tekstilaatikko"],
  28. viesti, tyhjaa=False)
  29. piste = (round(x, 2), round(y, 2))
  30. pisteet.append(piste)
  31. break
  32. tila['pisteet'] = pisteet
  33.  
  34.  
  35. def main(datax, datay):
  36. """Luo käyttöliittymän, jossa on klikattava kuvaaja sekä
  37. tekstilaatikko. Kuvaajaan piirretään käyrä parametreina saatujen
  38. data-arvojen perusteella."""
  39.  
  40. akkuna = ikkunasto.luo_ikkuna('kuvaaja')
  41. kehys = ikkunasto.luo_kehys(akkuna, puoli=ikkunasto.ALA)
  42. kehys2 = ikkunasto.luo_kehys(akkuna, puoli=ikkunasto.YLA)
  43. piirtoalue, kuvaaja = ikkunasto.luo_kuvaaja(kehys2, valitse_datapiste,
  44. 600, 400)
  45. kuva = kuvaaja.add_subplot(111)
  46. tekstilaatikko = ikkunasto.luo_tekstilaatikko(kehys, 80, 20)
  47. tila["tekstilaatikko"] = tekstilaatikko
  48. kuva.plot(datax, datay)
  49. piirtoalue.show()
  50. ikkunasto.kaynnista()
  51.  
  52.  
  53.  
  54. if __name__ == "__main__":
  55. datax = [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0]
  56. datay = [0.0, 0.19, 0.36, 0.51, 0.64, 0.75, 0.84, 0.91, 0.96, 0.99, 1.0, 0.99, 0.96, 0.91, 0.84, 0.75, 0.64, 0.51, 0.36, 0.19, 0.0]
  57. main(datax, datay)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement