簡體   English   中英

如何在 R 中更改散點 plot 中 Y 軸的比例(間隔)?

[英]How to change the scale(interval) of Y-axis in a scatter plot in R?

我使用了以下命令:

plot(data$Revenue, data$Profits, main="Revenue vs Profits", xlab="Revenue", ylab="Profits", xlim=c(0,500000), ylim=c(-25000,55000), cex=0.00001*data$Employees)

得到以下散點 plot:

散點圖

由於 Y 軸上的間隔較少,數據變得雜亂無章。

如何在 Y 軸上引入較小的刻度?

您可以嘗試滾動您自己的“負面處理”日志或立方根轉換器:


## create some similar data:
set.seed(102)
data <- data.frame(
    Revenue = rlnorm( n=200, m=10, s=1 ),
    Profits = -5e3 + rnorm( n=200, m=8e3, s=10e3 )
) %>% mutate( Employees = runif( n(), max=1e5 ) + Revenue*rlnorm(m=0.5, n=n()) )

## transformation:
ytrans <- function(x)sign(x)*abs(x)^(1/3)
## ytrans <- function(x)sign(x)*abs(log(x))

## plot it
plot(data$Revenue, ytrans(data$Profits), main="Revenue vs Profits", xlab="Revenue", ylab="Profits", xlim=c(0,500000), ylim=ytrans(c(-25000,55000)), cex=0.00001*data$Employees, yaxt="n")
y.labels <- c(-20e3, -5e3, -1e3, 0, 1e3, 5e3, 20e3 )
y.at <- ytrans(y.labels)
axis( 2, at=y.at, labels=y.labels )

與您的真實數據相比,它可能看起來更漂亮。

也許您需要將其重新定位在 0 以外的位置,以使轉換更加成功。 我需要查看您的數據才能確定。

在此處輸入圖像描述

暫無
暫無

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

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