Лучше всего изменить масштаб ваших данных, например, здесь с логарифмом. Вы можете просто обозначить это в маркировке вашего графика и по-прежнему предоставлять немасштабированные метки по оси Y.
breaks = c(0, 1e5, 1e10, 1e15, 1e20, 1e25, 1e30)
ggplot(data, aes(x=x, y=log(y))) +
geom_point(shape=18, color="blue")+
scale_y_continuous(name = "Cost",
breaks = log(breaks),
labels = breaks)
Еще проще, немного ржаво:
ggplot(data, aes(x=x, y=y)) +
geom_point(shape=18, color="blue")+
scale_y_continuous(name="Cost",
breaks = c(0, 1e5, 1e10, 1e15, 1e20, 1e25, 1e30),
trans = "log")