📌  相关文章
📜  更改 R 中 ggplot2 绘图轴数字的格式

📅  最后修改于: 2022-05-13 01:55:00.290000             🧑  作者: Mango

更改 R 中 ggplot2 绘图轴数字的格式

在本文中。我们将讨论如何在 R 编程语言中更改 ggplot2 绘图轴的数字格式。

ggplot() 方法可在此包中使用,以模拟图形自定义并提高图形绘制的灵活性。

句法:

可以使用 ggplot 方法的 data 属性将数据绑定到散点图中。函数的映射可以使用 aes()函数通过过滤要绘制在散点图上的变量来创建美学映射。我们还可以指定如何在图中描绘不同的组件,例如,x 轴和 y 轴的位置,分配给这些点的标签,或诸如大小、形状、颜色等特征。



此方法还允许添加各种几何图形——即图形的组件。 geom_point() 用于创建散点图。对于每个数字,使用科学记数法跨轴标记大数字。

示例

R
library(ggplot2)
library("scales")
set.seed(13482)
  
# creating a data frame
df <- data.frame(col1 = rpois(10,2)*100000,
                 col2 = rpois(10,5)*100000
                 )
  
print ("Original DataFrame")
print (df)
  
# create a plot
ggplot(df, aes(col1, col2)) +          
  geom_point()


R
library(ggplot2)
library("scales")
  
set.seed(13482)
  
# creating a data frame
df <- data.frame(col1 = rpois(10,2)*100000,
                 col2 = rpois(10,5)*100000)
  
print ("Original DataFrame")
print (df)
  
# create a plot
ggplot(df, aes(col1, col2)) +          
  geom_point() + 
  scale_x_continuous(labels = comma) + 
  scale_y_continuous(labels = comma)


R
library(ggplot2)
library("scales")
  
set.seed(13482)
  
# creating a data frame
df <- data.frame(col1 = rpois(10,2)*100000,
                 col2 = rpois(10,5)*100000
                 )
  
print ("Original DataFrame")
print (df)
  
# create a plot
ggplot(df, aes(col1, col2)) +          
  geom_point() + 
  scale_x_continuous(labels = comma_format(big.mark = ".",
                                           decimal.mark = ","))+
  scale_y_continuous(labels = comma_format(big.mark = ".",
                                           decimal.mark = ","))


输出

[1] "Original DataFrame" 
    col1  col2 
1  0e+00 8e+05 
2  2e+05 3e+05 
3  0e+00 7e+05 
4  4e+05 7e+05 
5  1e+05 3e+05 
6  3e+05 7e+05 
7  3e+05 6e+05 
8  3e+05 6e+05 
9  2e+05 6e+05 
10 4e+05 4e+05

现在让我们看看格式化数字的不同方式。

方法一:整数表示

轴标签的格式可以将科学记数法转换为其他格式。 scale_x_continuous() 和 scale_y_continuous() 方法可用于禁用科学记数法并将科学标签转换为离散形式。可以使用这些方法修改 x 和 y 参数。

例子:

电阻

library(ggplot2)
library("scales")
  
set.seed(13482)
  
# creating a data frame
df <- data.frame(col1 = rpois(10,2)*100000,
                 col2 = rpois(10,5)*100000)
  
print ("Original DataFrame")
print (df)
  
# create a plot
ggplot(df, aes(col1, col2)) +          
  geom_point() + 
  scale_x_continuous(labels = comma) + 
  scale_y_continuous(labels = comma)

输出

[1] "Original DataFrame" 
    col1  col2 
1  0e+00 8e+05 
2  2e+05 3e+05 
3  0e+00 7e+05 
4  4e+05 7e+05 
5  1e+05 3e+05 
6  3e+05 7e+05 
7  3e+05 6e+05 
8  3e+05 6e+05 
9  2e+05 6e+05 
10 4e+05 4e+05

方法 2 :十进制表示

用于禁用科学记数法的 scale_x_continuous() 和 scale_y_continuous() 方法可以进一步定制,以支持不同的格式来表示轴上的数字。逗号格式() 方法可用于用逗号分隔千位来格式化数字。



例子:

电阻

library(ggplot2)
library("scales")
  
set.seed(13482)
  
# creating a data frame
df <- data.frame(col1 = rpois(10,2)*100000,
                 col2 = rpois(10,5)*100000
                 )
  
print ("Original DataFrame")
print (df)
  
# create a plot
ggplot(df, aes(col1, col2)) +          
  geom_point() + 
  scale_x_continuous(labels = comma_format(big.mark = ".",
                                           decimal.mark = ","))+
  scale_y_continuous(labels = comma_format(big.mark = ".",
                                           decimal.mark = ","))

输出

[1] "Original DataFrame"
   col1  col2
1  0e+00 8e+05
2  2e+05 3e+05
3  0e+00 7e+05
4  4e+05 7e+05
5  1e+05 3e+05
6  3e+05 7e+05
7  3e+05 6e+05
8  3e+05 6e+05
9  2e+05 6e+05
10 4e+05 4e+05