Добавление пользовательских меток на метку R - программирование
Подтвердить что ты не робот

Добавление пользовательских меток на метку R

Я рисую cdf некоторых данных, и я добавил логарифмический масштаб на оси "x". Интервал тиков - это именно то, что я хочу, но я бы хотел добавить некоторые отметки в определенных точках.

Я не хочу изменять распределение тиков в моем заговоре, от n by n до m by m, я хочу просто иметь среди тиков от n by n несколько дополнительных меток на некоторых значениях.

Я бы хотел, чтобы это отразилось как на оси x, так и на y, чтобы я мог поместить сетку в эти новые метки по всему графику.

Пока у меня есть график, а сетка - я не против иметь сетку позади или по графику, я просто хочу добавить некоторые пользовательские тики.

# Cumulative Distribuition
pdf("g1_3.pdf")

plot(x = f$V2, y = cumsum(f$V1), log = "x", pch = 3,
     xlab = "Frequency", ylab = "P(X <= x)",
     panel.first = grid(equilogs = FALSE))

axis(1, at = c(40, 150))
abline(h = 0.6, v = 40, col = "lightgray", lty = 3)
abline(h = 0.6, v = 150, col = "lightgray", lty = 3)

dev.off()

ОБНОВЛЕНИЕ: График, который у меня есть до сих пор:

enter image description here

4b9b3361

Ответ 1

Учитывая начальный script и советы, заданные @BenBolker, мне пришлось использовать:

axis(side = 1, at = c([all the ticks you want]))

чтобы добавить ticks в график. Здесь конечный результат:

# Cumulative Distribuition
pdf("g1_3.pdf")

plot(x = f$V2, y = cumsum(f$V1), log = "x", pch = 3,
     xlab = "Frequency", ylab = "P(X <= x)", axes = FALSE)

ticks = c(1, 5, 10, 40, 150, 500, 1000)
axis(side = 1, at = ticks)
axis(side = 2)

abline(h = seq(0, 1, 0.2), v = ticks, col = "lightgray", lty = 3)
box()

Final result to the graph I was trying to generate