簡體   English   中英

如何使用R更改圖形的xy軸的比例?

[英]How to change the scale of x-y axis of graph usinig R?

我用 R 做了一個圖表,這是代碼。 在此圖中,我想更改 xy 軸的比例。

對於 x 軸,我希望比例單位變為 1,而不是 20。此外,對於 y 軸,我希望比例單位變為 100,而不是當前圖形中的 500。

我需要在此代碼中添加哪些代碼? 能告訴我方法嗎?

非常感謝。

在此處輸入圖片說明

hist(m2$GW, xlim=c(0,100), ylim=c(0,2000), main="GW distribution (Cultivar 1)", xlab="Grain weight (mg)", ylab="Frequency (%)", col="white", las=1)

歡迎來到 Stack Overflow J. Kim。

您可以縮放 x 軸,只需將m2$GW乘以新比例並按舊比例進行划分。 按照您的示例,如果您希望 x 軸變為 1,而不是 20,您只需執行: m2$GW*(20/1) 要使用縮放的 x 軸繪制直方圖,您可以執行以下操作:

hist(m2$GW, xlim=c(0,100), ylim=c(0,2000), main="GW distribution (Cultivar 1)",
     xlab="Grain weight (mg)", ylab="Frequency (%)", col="white", las=1)

由於直方圖計算變量的頻率,因此不應更改 y 軸比例,否則會丟失繪圖的主要信息,即每個 x 軸值的計數。

如果你仍然想縮放 y 軸,你可以使用ggplot2包。 這樣的事情可能會解決您的問題:

library(ggplot2)
# define convenient scales for x and y
x_scale = 500/100
y_scale = 20/1
# plot
ggplot(m2) +
  geom_histogram(aes(x = GW*x_scale, y = stat(count)*y_scale),
                 fill = 'white', colour = 'black') +
  labs(title = 'GW distribution (Cultivar 1)',
       x = 'Grain weight (mg)', y = 'Frequency (%)') +
  theme(plot.title = element_text(hjust = 0.5))

我希望它以某種方式幫助你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM