在 R 中编辑热散射图(LSD 包)x 轴

Edit Heatscatter plot (LSD package) x axis in R

我正在 LSD 包的 R 部分中使用 heatscatter,我主要是想让我的情节看起来更漂亮。现在 x 轴读取了一堆随机日期值,因为我必须将 myData$Date1 更改为用于绘图的矢量(见下图)。

如何将 x 轴更改为 4 月、5 月、6 月、7 月、8 月、9 月?

是否还有一种方法可以将绘图的字体更改为 Times New Roman 或 theme_tufte(),就像在 ggplot 中一样?

如果有人可以在 ggplot 而不是 heatscatter 中创建类似的图,那将是解决我的问题的另一种方法,因为我更精通 ggplot。

这是我用来制作情节的代码 l8 日期是日(00)月(00)年(2015)

l8.dates <-c('04062015','04222015','05082015','05242015','06092015','06252015',
                '07112015','07272015','08122015','08282015','09132015','09292015')
myDate = sample(l8.dates,1000,replace= TRUE)
NDVI2 = sample(seq(0,1, by =0.0001),1000,replace = T)  
myData = data.frame(Date1 = myDate,
                NDVI2 = NDVI2)

myData$Date1 = as.Date(myData$Date1,"%m%d%Y")

heatscatter(as.vector(myData$Date1),as.vector(myData$NDVI2),                    
                colpal="bl2gr2rd",ylim= c(-1,1), frame.plot=FALSE, xlab= "", ylab="NDVI")

也许试试

par(family="serif")
heatscatter(as.vector(myData$Date1),as.vector(myData$NDVI2), 
            xaxt="n", # omit axis (x-axis-type 'none')
            colpal="bl2gr2rd",ylim= c(-1,1), frame.plot=FALSE, xlab= "", ylab="NDVI")
breaks <- pretty(myData$Date1)
axis(1, at = breaks, labels = format(breaks, "%b")) # set axis manually afterwards

windowsFonts()
# $serif
# [1] "TT Times New Roman"
# 
# $sans
# [1] "TT Arial"
# 
# $mono
# [1] "TT Courier New"

给予