我有一个数据框,它的值之间有相当大的差距,所以在图表上使用对数比例是合乎逻辑的.大概是这样的:
df <- data.frame(
Type = c("A", "B", "C", "D"),
Value = c(1e3, 2e3, 4e5, 8e6),
Efficiency = c(70, 72, 80, 88)
但我不想使用‘Numerical’作为‘Value’列的数据类型,而是使用‘factor’数据类型,这样图形将只有4个等间距的数据点(即-1e3、2e3、4e5、8e6),而不是一个连续的、对数比例的x轴,我不能使它等间距分布,也不能显示每个数据条目的确切值.因此,我已将该值转换为‘Factor’
# Convert set columns to specified data type
factor_cols <- c("Type", "Value")
df[factor_cols] <- lapply(df[factor_cols], factor)
我的问题是,我需要用科学记数法在x轴上显示数据,但无论出于什么原因,我总是得到数值较低的值和科学记数法的较高值.我使用的代码是:
# Plot summary graph
ggplot(df, aes(x = Value, y = Efficiency, color = Type)) +
geom_point(size = 3, alpha = 0.7)
我try 使用Scale_x_Display(),但似乎无济于事.
如何从'Value'字符串中生成所有值(我甚至不确定我们称之为字符串还是数据类型?)用科学计数法吗此外,如果您要使用数值格式的"值",是否有一种方法来格式化图形,使数据点均匀分布在x轴上,同时还指示x轴刻度上的相应数据值?