Я использую plotrix
в R
построить карту государственного уровня США. Он имеет отличную функцию, floating.pie
чтобы поставить круговые диаграммы в каждом штате.
Мне интересно, есть ли в plotrix
пакете похожие функции для отображения гистограмм в каждом штате? (Я посмотрел на документацию и функции, которые имеют дело с гистограммами, похоже, не имеют такой возможности, но я просто хотел быть уверен.) Я предпочитаю работать в пакете plotrix, если это возможно, но не стесняйтесь называть другие пакеты.
Как пример, я был бы заинтересован в создании карты, подобной этой (но для США):
Для моей карты США было бы 50 гистограмм, по одной на каждый штат.
Я получил эту карту с /programming/20465070/barplots-on-a-map , но похоже, что ggsubplot не работает с моей версией R (аналогично тому, что другие говорили в посте). ).
источник
ggsubplot
пакетом, но теперь он устарел и не будет работать (как вы упомянули). Возможно, этот пост может послужить отправной точкой: stackoverflow.com/questions/36063043/…Ответы:
Я знаю, что опоздал с этим, но я думаю, что нашел довольно простое решение.
Если вы посмотрите на исходный код
floating.pie()
(например, позвонивgetAnywhere(floating.pie)
), вы заметите, что он использует очень простой, но эффективный подход: рисование круговых сегментов в виде многоугольников. Если все, что вам нужно из ваших гистограмм, это столбцы (без меток, осей и т. Д.), Вы можете следовать тому же подходу и написать свою собственную функцию. Вот быстрая и грязная версия:x
для значений, представляемых столбцамиxllc
иyllc
укажите положение нижнего левого угла левой панели в любой системе координат, которую вы используетеbarwidth
иmaxheight
используются для масштабирования размера баровВот демоверсия с базовым
sp
сюжетом. Я не думаю, что я работалplotrix
раньше, но исходя из тогоfloating.pie
, как работает, я бы предположил, что это также должно работатьplotrix
.Результат выглядит так:
источник
mapbars
определена в первом большом блоке кода, где говоритсяmapbars <- function (x, xllc = 0, ...
. Сначала вам придется выполнить весь этот раздел кода, чтобы «обучить» R новой команде.ggplot2 и ggvis - это две библиотеки, которые могут помочь вам отобразить графики на карте. В ggplot2 вы можете наносить пузырьки на карту, а затем вам просто нужно дать aes () координаты, которые не имеют ничего общего с размером и цветом пузыря. Что касается гистограммы, вам нужно назначить как минимум 2 пары x и y, одну для местоположения гистограммы, а другую для высоты и ширины гистограммы. Другими словами, вам нужно знать координаты 4 углов для стержня.
источник