Как указывает @hadley, rbind.gtable
должен иметь возможность справиться с этим,
grid.draw(rbind(ggplotGrob(p1), ggplotGrob(p2), size="last"))
, однако в идеале ширина макета должна быть size="max"
, которая не справляется хорошо с некоторыми типами узлов сетки.
Ваша переменная с именем data
должна оказаться словарем, а не списком. Поэтому, когда вы пытаетесь выполнить «for row in data:
», вы говорите: «Делайте следующее для каждого ключа в словаре», , а не для элементов в списке! Словари не упорядочены, но независимо от того, какой ключ сначала выбирается как row
, команда не выполняется, потому что она не может найти внутри нее ничего, что называется «symmetrixID
». Если, например, HostID
был первым ключом, выбранным в цикле, то row['symmetrixID']
означает data['HostID']['symmetrixID']
.
Если вы посмотрите более внимательно, в словаре есть только один список, который нужно перебрать, и это data["perf_data"]
. Так что попробуйте петлю там.
На данный момент ваши данные в строке: , Если вы сначала не измените все эти значения с плавающей точкой на строки, join
не будет работать. В любом случае, вы можете заменить команду print
нужной вам командой записи.