Я хочу создать простую карту для своих магазинов, показывающую размер всех различных кассовых чеков.У меня есть 3 разных типа до.Один имеет размер 4, а другие 2 имеют размер 1.
например,
Till1 - 4
Till2 - 1
Till3 - 1
Я создал таблицу согласноследующее:
до размера полигона
до1 4 [[0,1], [0,5], [1,5], [1,1]]
до 2 1 [[1, 1], [1,2], [2,2], [2,1]]
ETC
Запуск этого кода:
df1.iloc[0]['polygon']
Я получаю'[[0,1], [0,5], [1,5], [1,1]]'
Однако, когда я пытаюсь превратить это в многоугольник, он изо всех сил:
Polygon(df1.iloc[0]['polygon'], True)
TypeError: len () объекта без размера
Я думаю, что он читается как строка, и мне нужно как-то передать отдельные части.Я попытался использовать split, но это все еще список строк, а не список списков.
Есть идеи?
Окончательный код будет выглядеть примерно так:
fig, ax = plt.subplots()
patches = []
num_polygons = len(df1)
for i in range(num_polygons):
#polygon = Polygon([[1,1],[1,5],[2,5],[2,1]], True)
polygon = Polygon(df1.iloc[0]['polygon'], True)
patches.append(polygon)
p = PatchCollection(patches, cmap=matplotlib.cm.jet, alpha=0.4)
colors = 100*np.random.rand(len(patches))
p.set_array(np.array(colors))
ax.add_collection(p)
plt.ylim([0,10])
plt.xlim([0,10])
plt.show()