Как построить изображения в соответствии с массивом? - PullRequest
1 голос
/ 02 марта 2020

Я собираюсь построить конкретное c изображение в соответствии с текстом в одном массиве, например, если в массиве есть слово «ванная комната», должен быть показан значок ванной комнаты, все эти данные получены из базы данных sqlite3. Вот код, который я сделал до сих пор:

from matplotlib import pyplot as plt
from matplotlib.image import BboxImage
from matplotlib.transforms import Bbox, TransformedBbox
import math
import sqlite3

Activities=[]
x1=[]
y1=[]
Baño=plt.imread('icono_baño.png')
fig = plt.figure()
ax = fig.add_subplot(111)

con = sqlite3.connect("RegistrosResidentes.db")
con.text_factory = lambda x: str(x, 'latin1')


cur = con.cursor()


for row in cur.execute('SELECT * FROM Residentes;'):
    print("Actividad = ", row[0], )
    print("Hora = ", row[1],":",row[2], "\n")
    h=row[1]
    m=row[2]
    hm=(h*60)+m
    A=90-hm*(360/1440)
    x=math.cos(math.radians(A))*4
    y=math.sin(math.radians(A))*2
    x1.append(x)
    y1.append(y)
    Activities.append(row[0])

con.close()
print(Activities)

def plotImage(xData, yData, im):
    for x, y in zip(xData, yData):
        bb = Bbox.from_bounds(x,y,1,1)  
        bb2 = TransformedBbox(bb,ax.transData)
        bbox_image = BboxImage(bb2,
                            norm = None,
                            origin=None,
                            clip_on=False)

        bbox_image.set_data(im)
        ax.add_artist(bbox_image)


plotImage(x1, y1, Activities)
ax.set_ylim(-6,6)
ax.set_xlim(-9,9)
grid()
plt.show()

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...