根据R中的计数最小最大范围,向直方图的计数(y轴)添加断点?
我有一个根据R中的计数最小最大范围,向直方图的计数(y轴)添加断点?,r,ggplot2,histogram,axes,R,Ggplot2,Histogram,Axes,我有一个ggplot柱状图。 在x轴上,我有一个因子变量(1,2,3,4,…) 在y轴上我有个计数 我希望我的y轴从最小计数到最大计数,乘以1 我正在玩scale\u y\u discrete,但我不能使用min(count)、max(count)和add by=1 请告知 df <- structure(list(user_id = c(1L, 1L, 3L, 3L, 4L, 4L, 4L, 6L, 8L, 8L, 8L, 8L, 8L, 9L, 9L, 9L, 9L, 9L, 9L,
ggplot
柱状图。
在x轴上,我有一个因子变量(1,2,3,4,…)
在y轴上我有个计数
我希望我的y轴从最小计数到最大计数,乘以1
我正在玩scale\u y\u discrete
,但我不能使用min(count)
、max(count)
和add by=1
请告知
df <- structure(list(user_id = c(1L, 1L, 3L, 3L, 4L, 4L, 4L, 6L, 8L,
8L, 8L, 8L, 8L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L), obs_id = c(1L,
30L, 133L, 134L, 144L, 160L, 162L, 226L, 272L, 273L, 274L, 275L,
276L, 299L, 307L, 322L, 323L, 324L, 325L, 326L, 327L, 328L),
n = c(6L, 6L, 10L, 6L, 11L, 11L, 12L, 6L, 3L, 2L, 5L, 2L,
3L, 5L, 12L, 11L, 25L, 7L, 5L, 2L, 5L, 17L)), class = c("grouped_df",
"tbl_df", "tbl", "data.frame"), row.names = c(NA, -22L), vars = "user_id", drop = TRUE, .Names = c("user_id",
"obs_id", "n"), indices = list(0:1, 2:3, 4:6, 7L, 8:12, 13:21), group_sizes = c(2L,
2L, 3L, 1L, 5L, 9L), biggest_group_size = 9L, labels = structure(list(
user_id = c(1L, 3L, 4L, 6L, 8L, 9L)), class = "data.frame", row.names = c(NA,
-6L), vars = "user_id", drop = TRUE, .Names = "user_id"))
df您可以为断开
创建一个函数,该函数以轴的极限为参数
从scale\u continuous
的文档中,中断可以采取以下措施:
一种函数,将极限作为输入,并将中断作为输出返回
这里是一个例子,我从0到最大y轴限制1。(我使用0而不是最小计数,因为直方图从0开始。)
函数中的x
是由ggplot()
计算或由用户设置的绘图中轴的限制
byone = function(x) {
seq(0, max(x), by = 1)
}
您可以在scale\u y\u continuous()
中将此函数设置为中断。限制直接从绘图中提取,并传递给函数的第一个参数
ggplot(df, aes(user_id)) +
geom_histogram() +
scale_y_continuous(breaks = byone)
您可以为断开
创建一个函数,该函数以轴的极限为参数
从scale\u continuous
的文档中,中断可以采取以下措施:
一种函数,将极限作为输入,并将中断作为输出返回
这里是一个例子,我从0到最大y轴限制1。(我使用0而不是最小计数,因为直方图从0开始。)
函数中的x
是由ggplot()
计算或由用户设置的绘图中轴的限制
byone = function(x) {
seq(0, max(x), by = 1)
}
您可以在scale\u y\u continuous()
中将此函数设置为中断。限制直接从绘图中提取,并传递给函数的第一个参数
ggplot(df, aes(user_id)) +
geom_histogram() +
scale_y_continuous(breaks = byone)
你能发布一个最小的可复制示例吗?@markus请重新加载问题。我添加了一个数据帧。柱状图在用户id上。我不完全清楚您的要求。ggplot2中的直方图需要连续数据。如果您的x轴是一个因子,请使用geom_bar:“ggplot(df,aes(x=as.factor(user_id)))+geom_bar()”@CyrusMohammadian已经使用了它,但是如何将计数(y轴)缩放为最小(计数):最大(计数)乘以=1?您能发布一个最小的可复制示例吗?@markus请重新加载问题。我添加了一个数据帧。柱状图在用户id上。我不完全清楚您的要求。ggplot2中的直方图需要连续数据。如果您的x轴是一个因子,请使用geom_bar:'ggplot(df,aes(x=as.factor(user_id)))+geom_bar()'@CyrusMohammadian已经使用了它,但如何将计数(y轴)缩放为最小(计数):最大(计数)乘以=1?请解释byone“知道”的方式关于y轴?@steves我添加了一些关于在函数中使用中断
的其他详细信息。请解释byone是如何“知道”y轴的?@steves我添加了一些关于在函数中使用中断
的其他详细信息。