Я собираюсь построить конкретное 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()
Спасибо!