尝试绘制CSV文件的图表,尽管频率在450-800之间变化,该图仍将所有类别显示为相同的高度
下面是我收到的情节
我尝试实现height = x,width = x 这样会导致完全去除标签,并且无法解决最初的问题。
$url
答案 0 :(得分:0)
我认为您错误地使用了table
函数,因为您已经计算了模态数。因此,它既不是图形问题也不是功能问题。您所要做的就是计算频率,如下所示:
Intentional.self.harm..suicide. = c(535L,
579L, 480L, 541L, 499L, 537L, 466L, 453L, 459L, 494L, 520L, 553L,
525L, 588L, 578L, 631L, 676L, 656L, 757L, 673L)
df <- Intentional.self.harm..suicide.
barplot(height = df) # correct barplot with counts
df_prop <- table(df) # gives a table that count modalities (all unique ie 1)
str(df_prop)
# With a data.frame if you want to include labels
df_prop <- data.frame(
"type" = paste0("t", 1:20),
"freq" = df/sum(df) # alternatively use prop.table(df)
)
# sum(df_prop$freq) # to check
barplot(height = df_prop$freq) # same 'profile' than first barplot
# --- EDIT / Follow up
# looking at documentation of barplot to set labels and ordinate limits
?barplot
barplot(height = df_prop$freq, names.arg = df_prop$type, ylim=c(0, max(df_prop$freq * 1.2)))