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