我有一个数据框,其中包含变量“坏死”和“角度”。我想绘制一条密度曲线,其中每个角度都有坏死密度。例如在下图中,我可以使用以下代码绘制频率:
首先,我创建了一个频率表,你可以在这里访问数据框https://www.dropbox.com/s/duynpb3n9nh8epc/filter_df.csv?dl=0
table_fq <- table(filter_df$necrosis, filter_df$angles,
dnn = c("necrosis", "angles"))
#transform the table into data frame
df_fire <- as.data.frame(table_fq)
当我将表格转换为数据框时,一些变量不是数字,所以我只是使用以下代码转换为数字:
df_fire$angles <- as.numeric(as.character(df_fire$angles))
df_fire$Freq <- as.numeric(as.character(df_fire$Freq))
df_fire$necrosis <- as.numeric(as.character(df_fire$necrosis))
In 还从数据框中删除了等于 0 的频率
# Filter out any rows with zero frequency
df <- df_fire[df_fire$Freq > 0,]
使用此代码我绘制了频率与角度的关系
ggplot(df, aes(x = angles)) +
geom_col(aes(y = Freq), alpha = 0.5) +
labs(x = "angles", y = "Frequency") +
scale_x_continuous(limits = c(0, 360), breaks = seq(0, 360, 40)) +
xlab(bquote("Tree stem angles" (theta))) +
theme_bw()
这是数字。
但现在我正在尝试做一个类似的情节,但密度图。到目前为止,我只找到了如何绘制一个变量(x 轴)和密度(y 轴)。但我想要做的与我对频率所做的完全相同,其中 x 轴是角度,y 轴是坏死密度。非常感谢任何帮助!