Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:画一张桌子的平面图_R_Plot_Graph_Graphics - Fatal编程技术网

R:画一张桌子的平面图

R:画一张桌子的平面图,r,plot,graph,graphics,R,Plot,Graph,Graphics,总体目标 我按照一套规则把客人安排在桌子周围。在这篇文章中,我的目标是提供一个方便的功能,在R图形上显示这些客人的姓名 输入数据 guests描述每位客人在每张桌子上的位置。请注意,每张桌子上的客人数量各不相同 guests = list( table_1 = c("Jack", "Christelle", "Frank", "John S.", "Lucia"), table_2 = c("George", "Amanda", "Alice", "Laura", "John H."

总体目标

我按照一套规则把客人安排在桌子周围。在这篇文章中,我的目标是提供一个方便的功能,在
R
图形上显示这些客人的姓名

输入数据

guests
描述每位客人在每张桌子上的位置。请注意,每张桌子上的客人数量各不相同

guests = list(
   table_1 = c("Jack", "Christelle", "Frank", "John S.", "Lucia"),
   table_2 = c("George", "Amanda", "Alice", "Laura", "John H."),
   table_3 = c("Jeanette", "Elizabeth", "Remi", "Fabian", "Urs", "Emma"),
   table_5 = c("Roger", "Marry", "Henrique", "Claire", "Julia"),
   table_6 = c("Alphonse", "Marie", "Dani", "Rachel")
)
Table_positions
指示每个表在图形上的位置。这里我假设每个轴从0到10,其中点
c(5,5)
位于图的中心

Table_positions = data.frame(
  y_position=c(3,2,3,7,8,7),
  x_position=c(3,5,7,3,5,7)
)
图形的详细信息

我建议表格由以data.frame
Table\u positions
所示位置为中心的圆圈表示。每个客人的名字应该写在这些桌子周围,如下表所示
客人

桌子的位置:

客人定位:
for(1中的i:长度(来宾)){
表格表格的放置:

客人定位:
for(1中的i:长度(来宾)){

table您想一张表一张表地绘制还是在同一绘图中绘制所有表?我想您必须使用
plotrix::draw.circle
@ChristopheD.all tables(和所有名称)在单个绘图上。它允许在单个绘图上显示房间。它是一个桌面平面。您要逐表绘制还是在同一绘图中绘制所有表格?我想您必须在单个绘图上使用
plotrix::draw.circle
@ChristopheD。所有表格(和所有名称)。它允许在单个绘图上显示房间。它是一个桌面平面
require(plotrix)
plot(x = Table_positions$x_position
     ,y= Table_positions$y_position
     ,xlim=c(0,10),ylim=c(0,10),pch=".")
draw.circle(Table_positions$x_position,
        radius=0.5,
        Table_positions$y_position)
for(i in 1:length(guests)){
  Table<-as.vector(unlist(guests[i]))
  posTable<-c(Table_positions$x_position[i],Table_positions$y_position[i])
  nbGuest<-length(Table)
  for(j in 1:nbGuest){
    text(x=posTable[1]+round(0.5*cos((2*j/nbGuest)*pi),2),
         y=posTable[2]+round(0.5*sin((2*j/nbGuest)*pi),2),
         labels=guests[[i]][[j]],
         cex=0.5)
  }
  
}