Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.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 为什么无法使用ggplot2更改y轴值?_R_Ggplot2 - Fatal编程技术网

R 为什么无法使用ggplot2更改y轴值?

R 为什么无法使用ggplot2更改y轴值?,r,ggplot2,R,Ggplot2,我正试图改变我的y轴,以便更好地查看用R和ggplot2过度显示的绘图。正如你在第一栏中看到的巴基斯坦和英国,它们是不可读的 代码如下: sympt_count_plot <- ggplot2::ggplot(count_symptoms_positive_add, ggplot2::aes(x = age_band, y = Count, group = Symptoms, fill = Symptoms)) + ggplot2::geom_area( color = "

我正试图改变我的y轴,以便更好地查看用R和ggplot2过度显示的绘图。正如你在第一栏中看到的巴基斯坦和英国,它们是不可读的

代码如下:

sympt_count_plot <- ggplot2::ggplot(count_symptoms_positive_add, ggplot2::aes(x = age_band, y = Count, group = Symptoms, fill = Symptoms)) +
  ggplot2::geom_area( color = "white") +
  ggplot2::scale_x_discrete(limits = c( "0-9", "10-19", "20-29", "30-39", "40-49", "50-59", 
                                        "60+"), expand = c(0, 0)) +
  ggplot2::scale_fill_viridis_d() +
  ggplot2::scale_y_continuous(breaks = seq(0, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000,
                                                                       2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000)) +
  ggplot2::labs(#title = "% of responders across countries",
    y = "Count", x = "Age band") +
  theme(
    axis.text = element_text(size = 14),
    axis.title = element_text(size = 16),
    plot.title = ggplot2::element_text(size = 17, face = "bold"),
    plot.subtitle = ggplot2::element_text(size = 17),
    axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1),
    strip.background = element_blank(),
    strip.text = element_text(size = 10, face = "bold", hjust = 0), 
    legend.title = element_text(size = 16), 
    legend.text = element_text(size = 13)) +
  ggplot2::facet_wrap(~country, ncol = 1)

sympt_count_plot
我添加了新值,以便能够更好地查看绘图

以下是数据:

有办法解决这个问题吗

更新-基于下面的答案


你可能想做的是
c(100200,…)
而不是
seq(…)
。或者
c(seq(01000,by=100),seq(21003000,by=100))
。但我怀疑这不会满足你的要求;也就是说,绘图的整体y轴范围将与以前相同,您将只调整网格线的间距。我将尝试忽略
缩放y连续()
(即让
ggplot
使用其默认算法来选择轴断开),并在
镶嵌面包裹()中指定一个自由y比例,即

facet\u wrap(~country,ncol=1,scale=“free\u y”)

完整代码:


count\u symptoms\u positive\u add我实际上想让所有这些值保持相同。这是否可能?是否需要轴中断,即忽略1000和3000之间的空间?这很难(请参阅),而且对于像
geom_area()
这样的衍生绘图,这将更加困难……我完全理解你的意思。你就在这里。我只是想把它统一起来,因为我正在添加另一个专栏,关于共病。并尝试在所有过度显示的绘图中使用相同的值,包括稍后添加的第二列。c(seq(01000,by=100),seq(21003000,by=100))-我在哪里传递这个?我没有看到您编辑了我的答案。请编辑您的问题以包含此图表,而不是我的答案。。。
Error in seq.default(0, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000,  : 
  too many arguments
    In addition: Warning message:
    In seq.default(0, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 
        2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000) :
     extra arguments  will be disregarded