【发布时间】:2019-12-18 18:46:46
【问题描述】:
我有一个创建的热图,我试图将 x 轴标签格式化为 %d/%m (dd/mm)。我需要将原始日期转换为离散的因子。尝试了以下代码,但它给了我一个错误:
ggplot(data,aes(x=as.factor(DATE) ,y=as.factor(PRODUCT),fill=escale)) +
geom_tile(colour="white",size=0.25) +
scale_x_discrete(position = "top",label=format(DATE,"%d/%y"))
如何编写正确的代码来格式化 x 标签,使其类似于“18/12”,例如 (dd/mm)。
【问题讨论】:
-
当您将
x设置为factor时,它不再是日期,而format将不起作用 -
如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则更容易为您提供帮助。您可能希望避免在 x 值上使用
as.factor,而是使用scale_x_date()之类的东西,具体取决于您的日期实际存储方式。 -
嗨 MrFlick,scale_x_date() 会显示周末,我需要过滤一些东西,因此我以离散比例转换以使周末脱离坐标轴。
-
如果您不需要显示某些日期,您可以这样做,但因素可能是最不方便的方法
-
谢谢卡米尔,我想是的,但我也想知道是否有办法使用因子并格式化它。