【问题标题】:Change labels in X axis using plot() in R使用 R 中的 plot() 更改 X 轴上的标签
【发布时间】:2017-11-05 09:17:03
【问题描述】:

我是 R 的初学者,正在处理如下一些数据-

月

销售额

我必须使用 plot() 函数来绘制这些数据,我可以通过如下方式对其进行某些编辑来做到这一点-

plot(Month, Coffee, type='l', ylim=c(0, 100))
abline(h=max(Coffee), col='red')

新要求是将 X 轴上的“月份”名称绘制为实际月份名称,即一月、二月、三月、.....、十二月。

我尝试使用-

n_month <- format(ISOdate(2017,1:12,1),"%B")
plot(n_month, Coffee, type='l', ylim=c(0, 100))
plot(n_month, Coffee, type='l', ylim=c(0, 100), xlim=(1, 12))

我也尝试了以下-

# 'xaxt' to suppress labels on x-axis
plot(Month, Coffee, ylim=c(0,100), xlab="Month", ylab="Coffee", xaxt="n", type='l')

# 'axis' to add in my own labels
axis(1, at=1:12, labels=month.name)

但是,最终图表并未提及所有名称,而是提及某些名称,例如一月、三月、五月、六月、七月、九月和十一月。

关于如何在 X 轴上获取所有 12 个月的名称有什么建议吗?

谢谢!

【问题讨论】:

    标签: r plot


    【解决方案1】:

    我解决了这个问题-

    axis(1, at=1:12, labels=month.name, cex.axis=0.5)
    

    “cex.axis”参数可以调整 X 轴上的所有月份名称。

    【讨论】:

      【解决方案2】:

      希望对你有用

      month <- c("Jan", "Feb", "Mar",
                 "Apr", "May", "Jun",
                 "Jul", "Agu","Sep", 
                 "Oce", "Nov", "Dec")
      sales <- c(50, 60, 80, 50, 40, 30, 35, 55, 70, 60, 50, 40)
      dt<-data.frame( Month<-month, Sales=sales   )
      
      
      library(ggplot2)
      ggplot(dt ,aes( Month,Sales)) + 
        geom_bar(stat="identity",aes(fill = "Month"), data =dt , alpha = 0.5 )  
      

      只要确保你的系统中有ggplot2

      最后会是这样的:

      【讨论】:

      • 感谢您的解决方案。同时,我还找到了一个不必求助于'ggplot2'库的解决方案,它是-axis(1, at=1:12, labels=month.name, cex.axis=0.5)。 'cex' 参数成功了!
      猜你喜欢
      • 2014-08-20
      • 1970-01-01
      • 2013-12-30
      • 1970-01-01
      • 1970-01-01
      • 2021-04-08
      • 1970-01-01
      • 2022-06-15
      • 2015-02-10
      相关资源
      最近更新 更多