Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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 更改x轴刻度_R_Ggplot2 - Fatal编程技术网

R 更改x轴刻度

R 更改x轴刻度,r,ggplot2,R,Ggplot2,各位下午好, 我很难用ggplot绘制时间序列。我有一个从2020年1月30日到2020年10月22日的每日数据时间序列。当我用以下代码绘制数据时,我得到一个x轴,它根本不可读: plot_cases <- ggplot(NULL, aes(x= Date, y= Count)) + xlab("Time") + ylab("Number of Cases") + scale_y_continuous(limits=c(0, 2000)) +

各位下午好,

我很难用ggplot绘制时间序列。我有一个从2020年1月30日到2020年10月22日的每日数据时间序列。当我用以下代码绘制数据时,我得到一个x轴,它根本不可读:

plot_cases <- ggplot(NULL, aes(x= Date, y= Count)) +
  xlab("Time") + ylab("Number of Cases") +
  scale_y_continuous(limits=c(0, 2000)) +
  scale_x_discrete() +
  geom_line(data = P_cases_reduced_aggregated_female, aes(colour = P_cases_reduced_aggregated_female$Sex, group = 1)) +
geom_line(data = P_cases_reduced_aggregated_male, aes(colour = P_cases_reduced_aggregated_male$Sex, group = 1)) +
  scale_color_manual(values=c("#FF00FF", "#000FFF"))

plot\u cases遵循@AllanCameron@r2evans的伟大建议,首先在x轴上转换为date,然后使用
缩放x\u date()
。由于缺少数据,未显示任何输出:

library(ggplot2)
#Code
plot_cases <- ggplot(NULL, aes(x= Date, y= Count)) +
  xlab("Time") + ylab("Number of Cases") +
  scale_y_continuous(limits=c(0, 2000)) +
  scale_x_date(date_labels="%B-%d",breaks = '7 days') +
  geom_line(data = P_cases_reduced_aggregated_female,
            aes(colour = P_cases_reduced_aggregated_female$Sex, group = 1)) +
  geom_line(data = P_cases_reduced_aggregated_male,
            aes(colour = P_cases_reduced_aggregated_male$Sex, group = 1)) +
  scale_color_manual(values=c("#FF00FF", "#000FFF"))+
  theme(axis.text.x = element_text(angle=90))
库(ggplot2)
#代码

如果您将日期转换为实际日期或日期时间对象,这将容易得多。目前它们必须是字符串或因子。假设@AllanCameron的评论是真的(我同意),那么您可能需要
as.Date
(或
as.POSIXct
),然后使用
ggplot2::scale_x_Date
以您想要的方式格式化它。关于这样做有很多问题,请参阅。谢谢您的回答!我想在按性别分离数据之前,我已经使用了原始数据集:
P\u cases\u reduced$
P\u cases$DateResultRelease
感谢您的帮助。但是,当我运行代码时,我得到以下错误:
error:无效输入:date\u trans仅适用于类date的对象
Set
aes(x=as.date(date),%d.%m.%y'),y=Count)
在第一行,然后再次测试!非常感谢你的帮助。现在,我在if(zero_range(from)| zero_range(to))中得到了另一个错误
错误
@valentinedillelo它看起来像是x的问题,只尝试
x=as.Date(Date)
完美,只有
x=as.Date(Date)
我再也不会得到任何错误了。但是,像以前一样,只有
scale\x\u离散()
我没有任何x轴的刻度。。。
library(ggplot2)
#Code
plot_cases <- ggplot(NULL, aes(x= Date, y= Count)) +
  xlab("Time") + ylab("Number of Cases") +
  scale_y_continuous(limits=c(0, 2000)) +
  scale_x_date(date_labels="%B-%d",breaks = '7 days') +
  geom_line(data = P_cases_reduced_aggregated_female,
            aes(colour = P_cases_reduced_aggregated_female$Sex, group = 1)) +
  geom_line(data = P_cases_reduced_aggregated_male,
            aes(colour = P_cases_reduced_aggregated_male$Sex, group = 1)) +
  scale_color_manual(values=c("#FF00FF", "#000FFF"))+
  theme(axis.text.x = element_text(angle=90))