Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 1
Регистрация: 27.11.2017
Сообщений: 6

Matplotlib почему-то не рисует

04.06.2018, 08:54. Показов 2197. Ответов 1

Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import random
import pyodbc
import time
import threading
from time import time as timer
from threading import Thread
from queue import Empty, Queue
import tkinter as tk
from array import array
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
import matplotlib.pyplot as plt
 
def get_y_from_db():
    cnxn = pyodbc.connect('')
    cursor = cnxn.cursor()
    cursor.execute("")
    row = cursor.fetchone()
    if row:
        return row
    
def poll_db(emit, interval=1):
    while True:
        time.sleep(interval)
        emit(get_y_from_db())
 
def start_polling_loop(root, q, delay):     
    
    def loop():
        timeout_millis = round(delay - (1000 * timer()) % delay)
        root.after(timeout_millis, loop)
 
        try:
            data = q.get(block=False)
            print(data) # тут данные приходят, но не отображаются
            x,y = makexy(data)
            
            a.plot(x, y)
            canvas.draw()
        except Empty:
            return
        
    root.after_idle(loop)  # start
 
if __name__ == "__main__":
    root = tk.Tk()
    q = Queue()
    threading.Thread(target=poll_db, args=[q.put], daemon=True).start()
    start_polling_loop(root, q, delay=40)     
    
    f = Figure(figsize=(4, 4), dpi=100)        
    a = f.add_subplot(111)
 
    canvas = FigureCanvasTkAgg(f, master=root)
    canvas.show()                        
    canvas.get_tk_widget().grid(row=0,column=0)  
 
    root.mainloop()
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.06.2018, 08:54
Ответы с готовыми решениями:

Почему не рисует
Почему не работает, ведь ошибок не выдает. unit unit1; interface uses Windows, Messages, SysUtils, Variants, Classes,...

Почему не рисует прямую?
Добрый вечер! Вы не знаете, почему у меня прямую не рисует? вот фрагмент begin xp:=strtoint(edit4.text); ...

Почему не рисует на графике?
Ребят,код есть ,вроде даже рабочий,но оно не отображается на графике,код прилагаю, помогите пожалуйста чтобы работало <!DOCTYPE html>...

1
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
04.06.2018, 09:42
Если сделать так

Python
1
2
3
# x,y = makexy(data)
a.plot([1,2,3], [4,5,6])
canvas.draw()
то линия рисуется, если данные приходят, то в функции makexy(data), что-то неправильное делается
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.06.2018, 09:42
Помогаю со студенческими работами здесь

Почему не рисует в канвасе?
Здравствуйте. Потребовалось мне в канвасе порисовать из Code Behind. <Grid> <Canvas...

Почему ничево не рисует?
Програма запускаетса, но ничево не рисует, подскажите где проблема. // Graf_Footballers.cpp : Defines the entry point for the...

Почему не рисует точку на zedgraph
Почему не рисует точку на zedgraph?? подскажите что не так!!! private void zedGraphControl1_MouseClick(object sender, MouseEventArgs e)...

Почему код ничего не рисует?
подскажите почему он не чего не рисует Правильно же вроде бы все ? procedure TForm1.Button1Click(Sender: TObject); var ...

Не понимаю почему не рисует в Panel
Доброго времени суток, объясните пожалуйста в чем причина такого поведение: когда использую класс с методом для отрисовки на панеле,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru