Изменить приоритет линии на графике - PullRequest
0 голосов
/ 26 мая 2020

Я создал plot, в котором пары points на разных lines соединены линией segments. Один набор точек представлен открытыми кружками. Конец линии, соединяющей один из этих открытых кругов, виден внутри этого круга. Это создает впечатление яблочка. Я бы предпочел, чтобы линия не была видна внутри открытого круга. Могу ли я изменить приоритет линии, чтобы она находилась позади и закрывалась открытым кружком? В качестве альтернативы, возможно, можно создать открытые круги, залитые белым?

Извините, если это повторяющийся вопрос. Я бы предпочел черно-белый график в базе R.

Вот мой код R с крупными точками для иллюстрации проблемы:

x <- seq(60,80)

fitted <- c(0.60, 0.70, 0.80, 0.20, 0.70, 0.60, 0.70, 0.10, 0.20, 0.80,
            0.75, 0.05, 0.40, 0.20, 0.80, 0.70, 0.30, 0.40, 0.10, 0.20, 0.55)

stat <- c(1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0)

png('change.line.priority.in.plot.May25.2020.png')

plot(x, fitted, ylab="Probability", xlab="Observation", pch = 16, bty = "l", ylim = c(0,1), cex = 3)

lines(x, stat, type = 'p', pch = 21, lty = 1, cex = 3)

segments(x[2],  stat[2],  x[2],  fitted[2],  lwd = 2, lty = 'dotted')
segments(x[10], stat[10], x[10], fitted[10], lwd = 2, lty = 'dotted')
segments(x[15], stat[15], x[15], fitted[15], lwd = 2, lty = 'dotted')
segments(x[20], stat[20], x[20], fitted[20], lwd = 2, lty = 'dotted')

dev.off()

Вот участок:

enter image description here

1 Ответ

0 голосов
/ 26 мая 2020

Решение включало простое добавление bg = 'white' к оператору lines.

x <- seq(60,80)

fitted <- c(0.60, 0.70, 0.80, 0.20, 0.70, 0.60, 0.70, 0.10, 0.20, 0.80,
            0.75, 0.05, 0.40, 0.20, 0.80, 0.70, 0.30, 0.40, 0.10, 0.20, 0.55)

stat <- c(1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0)

png('change.line.priority.in.plot.May25.2020.png')

plot(x, fitted, ylab="Probability", xlab="Observation", pch = 16, bty = "l", ylim = c(0,1), cex = 3)

lines(x, stat, type = 'p', pch = 21, lty = 1, cex = 3, bg = 'white')

segments(x[2],  stat[2],  x[2],  fitted[2],  lwd = 2, lty = 'dotted')
segments(x[10], stat[10], x[10], fitted[10], lwd = 2, lty = 'dotted')
segments(x[15], stat[15], x[15], fitted[15], lwd = 2, lty = 'dotted')
segments(x[20], stat[20], x[20], fitted[20], lwd = 2, lty = 'dotted')

dev.off()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...