1

I have a set of (x, y) coordinates and a value for each pair. How could I create a contour plot within a circle instead of a square?

 ggplot(a, aes(x = x, y = y, z = z)) +
   stat_contour(geom = "polygon", aes(fill = ..level..)) +
   geom_tile(aes(fill = z)) +
   stat_contour(bins = 15)

Desired Plot:

Circular Contour Plot

Sample Data

# > dput(cbind(eegcoord[cidx,4:5],eegmean$value))
structure(list(xproj = c(-4.36892281283989, 4.35956894475236, 
-3.66712823067503, 3.66912002532953, -6.74087785458615, 6.7287326256584, 
-3.06883681930631, 3.0727815538517, -3.05334720378955, 3.0570879596344, 
-3.79278629306119, 3.79086730312228, -7.07653326595358, 7.06235689946147, 
-7.90472265899708, 7.886291820964), yproj = c(0.0590663494057822, 
0.0624572214558794, 4.86096691858553, 4.85057791325599, 5.19791938823655, 
5.18984777332146, 9.40308855517187, 9.39510236056629, -9.35605694441838, 
-9.34632728162916, -4.81178659276704, -4.80386416586077, -5.3889955653921, 
-5.37981449730605, -0.00583969391994209, -0.00704057111565196
), `eegmean$value` = c(0.0606980290462218, 0.0608382874925463, 
0.0517195368020531, 0.0531772440361526, 0.0204264049886253, 0.0177325467223879, 
0.0392064861131087, 0.0425640060844722, 0.0788962178010734, 0.0740093285228833, 
0.0749098131481143, 0.0759725415557911, 0.0688015959610801, 0.0762816652838652, 
0.0548817124454006, 0.0646901969995537)), .Names = c("xproj", 
"yproj", "eegmean$value"), row.names = c("C3", "C4", "F3", "F4", 
"F7", "F8", "FP1", "FP2", "O1", "O2", "P3", "P4", "P7", "P8", 
"T7", "T8"), class = "data.frame")
M--
  • 25,431
  • 8
  • 61
  • 93
HCAI
  • 2,213
  • 8
  • 33
  • 65
  • iff ggplot is looking for a bounding box, xlim, ylim, perhaps you pass it a bounding circle. – Chris Jun 09 '17 at 17:22

0 Answers0