我想使用scale_x_continuous并将我的标签四舍五入到最接近的千位。例如,如果我的X轴是1234567,2345566 ....我希望它是1235,2346.我使用了测序来分割我的x轴十分位数。当我将其四舍五入然后潜水1000次时,我将通过示例展示它。它制作了1235000,之后将它变成了我想要的1235但是因为sclae_x_continuous观察到所有数字直到3百万(现在是3k)都是在第一个十分位数时它将所有标签打印在同一个地方。我正在使用的代码是:
ggplot(
data = cummulative,
aes(
x = seq(1,length(cummulative$Frequency)),
y = Cum.Percent.,
group = 1
)
) +
geom_line(colour="red", size=1) +
theme_classic() +
theme(axis.text.x = element_text(angle = 75, hjust = 1, size=8)) +
labs(x="Number of Customer (in thousands)",y="Product Share (%)") +
ggtitle("Pareto Chart") +ylim(0,100.1) +
(scale_x_continuous(
breaks = seq(
0,
length(cummulative$Frequency),
length(cummulative$Frequency)/10
)
))
非常感谢你们:)
答案 0 :(得分:2)
让ggplot
处理中断,而不是手动指定它们。你会得到一个很好的间隔。将X先验除以1000将使您非常接近解决方案。
如果您想要更好的解决方案,请提供可重现的示例。
ggplot(
data = cummulative,
aes(
x = seq_along(Frequency) / 1000,
y = Cum.Percent.
)
) +
geom_line(colour="red", size=1) +
theme_classic() +
theme(axis.text.x = element_text(angle = 75, hjust = 1, size=8)) +
labs(
x = "Number of Customer (in thousands)",
y = "Product Share (%)"
) +
ggtitle("Pareto Chart") +
ylim(0, 100.1) +
scale_x_continuous()