আরে মানচিত্রে বার চার্ট প্লট করছেন?


14

আমি ব্যবহার করছি plotrixমধ্যে Rমার্কিন একটি রাষ্ট্র স্তর মানচিত্র প্লটে বিভক্ত করা হয়। এটি floating.pieপ্রতিটি রাজ্যে পাই চার্ট লাগাতে একটি দুর্দান্ত ফাংশন রয়েছে ।

আমি ভাবছি যদি plotrixপ্রতিটি রাজ্যে বার চার্ট প্রদর্শন করার জন্য প্যাকেজের মধ্যে একই রকম ফাংশন রয়েছে ? (ডকুমেন্টেশন এবং বার চার্টগুলির সাথে সম্পর্কিত ফাংশনগুলিতে আমি এই সম্ভাবনাটি মনে করি না, তবে আমি কেবল নিশ্চিত হতে চেয়েছিলাম)) সম্ভব হলে প্লট্রিক্স প্যাকেজের মধ্যে কাজ করতে আমি পছন্দ করি তবে নামটি নির্দ্বিধায় অনুভব করি অন্যান্য প্যাকেজ।

উদাহরণ হিসাবে, আমি এটির অনুরূপ একটি মানচিত্র উত্পাদন করতে আগ্রহী (তবে মার্কিন যুক্তরাষ্ট্রের জন্য):

এখানে চিত্র বর্ণনা লিখুন

আমার মার্কিন মানচিত্রের জন্য, প্রতিটি রাজ্যের জন্য একটি করে 50 টি চার্ট থাকবে।

আমি এই মানচিত্রটি /programming/20465070/barplots-on-a-map থেকে পেয়েছি তবে মনে হচ্ছে ggsubplot আমার আর এর সংস্করণে কাজ করে না (পোস্টে অন্যেরা যা বলেছে তার অনুরূপ) )।


2
আমি এটি ggsubplotপ্যাকেজ দিয়ে কীভাবে করব তাও জানতাম , তবে এটি এখন অবচয় করা হয়েছে এবং এটি কাজ করবে না (যেমন আপনি উল্লেখ করেছেন)। সম্ভবত এই পোস্টটি একটি সূচনা পয়েন্ট হতে পারে: স্ট্যাকওভারফ্লো.com
আন্দ্রে সিলভা

প্লট্রিক্সের ডকুমেন্টেশনগুলির সাথে পরামর্শ করুন, এই জাতীয় ফাংশন বিদ্যমান কিনা তা দেখতে। তারপরে প্লট্রিক্সের স্রষ্টার সাথে পরামর্শ করুন।
মোক্স

উত্তর:


1

আমি জানি আমি এটির সাথে সত্যিই দেরি করেছি, তবে আমি মনে করি এটির পরিবর্তে একটি সহজ সমাধান আমি পেয়েছি।

যদি আপনার সোর্স কোড 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)

ফলাফলটি এরকম দেখাচ্ছে: উপরের কোড থেকে ফলাফল উদাহরণস্বরূপ মানচিত্র


আমি এই ত্রুটিটি পেয়েছি যখন আমি ম্যাপবারস লাইন> ম্যাপবারগুলি (x = x1, xllc = -110, yllc = 40, বারউইথ = .5, সর্বোচ্চ দৈর্ঘ্য = 5) চালনা করি তখন ম্যাপবারে ত্রুটি (x = x1, xllc = -110, yllc = 40, barwidth = 0.5, maxheight = 5): ফাংশন "mapbars" খুঁজে পাইনি
324

মনে হচ্ছে আপনি আমার উত্তরের প্রথম অংশে কোডটি চালান নি। ফাংশনটি mapbarsকোডের প্রথম বড় ব্লকে সংজ্ঞায়িত করা হয়, যেখানে বলা হয় mapbars <- function (x, xllc = 0, ...। নতুন কমান্ডটি "শেখানোর" জন্য আপনাকে প্রথমে কোডটির পুরো বিভাগটি প্রয়োগ করতে হবে।
আমার তোয়ালে

-1

ggplot2 এবং ggvis দুটি গ্রন্থাগার যা আপনাকে মানচিত্রে প্লটগুলি প্রদর্শন করতে সহায়তা করতে পারে। Ggplot2 এ আপনি মানচিত্রে বুদবুদগুলি প্লট করতে পারেন এবং তারপরে আপনাকে কেবল এএস () স্থানাঙ্কগুলি দেওয়া দরকার যা বুদ্বুদের আকার এবং রঙের সাথে কোনও সম্পর্কযুক্ত নয়। বার চার্ট সম্পর্কিত, আপনাকে কমপক্ষে 2 জোড়া x এবং y নির্ধারণ করতে হবে, একটি বারের চার্টের অবস্থানের জন্য এবং অন্যটি বারের চার্টের উচ্চতা এবং প্রস্থের জন্য assign অন্য কথায়, আপনাকে একটি বারের জন্য 4 কোণার স্থানাঙ্কগুলি জানতে হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.