मुझे पता है कि मैं वास्तव में इस के साथ देर हो चुकी हूं, लेकिन मुझे लगता है कि मुझे एक सरल समाधान मिल गया है।
यदि आपके पास floating.pie()
(जैसे कॉल करके getAnywhere(floating.pie)
) के स्रोत कोड की एक नज़र है , तो आप देखेंगे कि यह एक बहुत ही सरल अभी तक प्रभावी दृष्टिकोण का उपयोग करता है: पाई खंडों को बहुभुज के रूप में चित्रित करना। यदि आप अपने बार चार्ट से चाहते हैं कि सभी बार (कोई लेबल, कुल्हाड़ी, आदि) नहीं हैं, तो आप उसी दृष्टिकोण का अनुसरण कर सकते हैं और अपना कार्य लिख सकते हैं। यहाँ एक त्वरित और गंदा संस्करण है:
# the function
mapbars <- function (x, xllc = 0, yllc = 0, barwidth=1, maxheight=10){
# calculate how long each bar needs to be
bars <- (x/max(x)) * maxheight
# get some quick colors
col <- rainbow(length(x))
for(i in 1:length(x)){
# figure out x- and y coordinates for the corners
leftx <- xllc + ((i-1) * barwidth)
rightx <- leftx + barwidth
bottomy <- yllc
topy <- yllc + bars[i]
# draw the bar
polygon(x=c(leftx, rightx, rightx, leftx, leftx),
y=c(bottomy, bottomy, topy, topy, bottomy),
col=col[i])
}
}
x
मूल्यों को सलाखों द्वारा दर्शाया जाना है
xllc
और yllc
जो भी समन्वय प्रणाली आप उपयोग कर रहे हैं, उसमें बाईं पट्टी के निचले बाएं कोने की स्थिति निर्दिष्ट करें
barwidth
और maxheight
सलाखों के आकार को स्केल करने के लिए उपयोग किया जाता है
यहां एक मूल- sp
आधारित साजिश के साथ एक डेमो है । मुझे नहीं लगता कि मैंने पहले काम किया है plotrix
, लेकिन कैसे floating.pie
काम करता है, इसके आधार पर , मैं यह मानूंगा कि इसके साथ भी काम करना चाहिए plotrix
।
library(sp)
library(maptools) # just for easy access to a background map
# load some country borders as a background
data("wrld_simpl")
plot(wrld_simpl)
# zoom on a bit …
mexico <- subset(wrld_simpl, NAME=="Mexico")
plot(mexico, axes=TRUE)
# data for the bars
x1 <- c(4, 7, 1, 2)
# plot
plot(mexico, axes=TRUE)
mapbars(x=x1, xllc=-110, yllc=20, barwidth=.5, maxheight=5)
legend(x="topright", pch=22, col="black", pt.bg=rainbow(x1), legend=c("foo", "bar", "baz", "foobar"))
# add another one:
x2 <- c(9, 21, 64, 45, 33, 43, 12, 7)
mapbars(x=x2, xllc=-100, yllc=25, barwidth=.2, maxheight=2)
परिणाम इस तरह दिखता है:
ggsubplot
पैकेज के साथ कैसे किया जाता है , लेकिन अब इसे हटा दिया गया है और यह काम नहीं करेगा (जैसा कि आपने उल्लेख किया है)। शायद यह पोस्ट एक प्रारंभिक बिंदु हो सकता है: stackoverflow.com/questions/36063043/…