Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据R中的计数最小最大范围,向直方图的计数(y轴)添加断点?_R_Ggplot2_Histogram_Axes - Fatal编程技术网

根据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我添加了一些关于在函数中使用
中断
的其他详细信息。