用R中的绘图可视化交叉表

用R中的绘图可视化交叉表,r,crosstab,bubble-chart,R,Crosstab,Bubble Chart,我看到excel中生成了一个绘图,我想知道R是否也可以这样做 这张图片本质上是一张交叉表的可视化,它将一周中的几天与当天的首选餐进行比较,并统计属于这些类别的人数 我读过一些R气泡图,但我还没有看到像这样的。有人能给我指一个软件包或一个网站,解释我如何制作这样的情节吗?使用哈德利·威克姆的ggplot2: library(ggplot2) # Set up the vectors day

我看到excel中生成了一个绘图,我想知道R是否也可以这样做

这张图片本质上是一张交叉表的可视化,它将一周中的几天与当天的首选餐进行比较,并统计属于这些类别的人数


我读过一些R气泡图,但我还没有看到像这样的。有人能给我指一个软件包或一个网站,解释我如何制作这样的情节吗?

使用哈德利·威克姆的
ggplot2

library(ggplot2)                           

# Set up the vectors                           
days <- c("Mon","Tues","Wed","Thurs","Fri")
slots <- c("Coffee/Breakfast","Lunch","Happy Hour","Dinner")

# Create the data frame
df <- expand.grid(days, slots)
df$value <- c(1,1,1,1,2,1,1,NA,NA,1,4,4,7,4,1,5,6,14,5,1)    

#Plot the Data
g <- ggplot(df, aes(Var1, Var2)) + geom_point(aes(size = value), colour = "green") + theme_bw() + xlab("") + ylab("")
g + scale_size_continuous(range=c(10,30)) + geom_text(aes(label = value))
库(ggplot2)
#设置向量
天扩展
ggplot
以提供替代方案

库(ggplot2)
图书馆(GG)
#设置向量

天只需添加一种替代方法,利用优秀的
ggpubr
软件包:

#加载ggpubr包
图书馆(ggpubr)
##借用汤米·奥戴尔的回答
#设置向量

也许几天可以帮你。这样很好,谢谢。只有一个问题,有没有办法改变形状,圆圈的边缘看起来有点“皱折”。这个函数能使它成为一个平滑的圆吗?如果没有,那就没问题了。
ggsave
您可以设置每英寸的点数。默认值为72 dpi,使用
ggsave(file=“filename.png”,dpi=300)
可以将dpi的值设置为更高的值。这可能会解决你的问题。
library(ggplot2)
library(ggmosaic)

# Set up the vectors                           
days <- c("Mon","Tues","Wed","Thurs","Fri")
slots <- c("Coffee/Breakfast","Lunch","Happy Hour","Dinner")

# Create the comporessed data frame
df <- expand.grid(days, slots, stringsAsFactors = TRUE)
df$value <- c(1,1,1,1,2,1,1,0,0,1,4,4,7,4,1,5,6,14,5,1)    
df.expanded <- df[rep(row.names(df), df$value), 1:2]

#Plot the Data
ggplot(data = df.expanded) +
  geom_mosaic(aes(x = product(Var2,Var1), fill = Var2)) + 
  ggsave("mosaic.png")