Last chance! 50% off unlimited learning
Sale ends in
Convert unit on x direction in data coordinate
convert_x(
x,
unit = c("mm", "cm", "inches"),
sector.index = get.cell.meta.data("sector.index"),
track.index = get.cell.meta.data("track.index"),
h = get.cell.meta.data("ycenter", sector.index = sector.index,
track.index = track.index))
a numeric vector.
supported units, only "mm", "cm", "inches".
index for the sector where the conversion is applied.
index for the track where the conversion is applied.
since the width of the cell is not identical from the top to the bottom in the cell, the position on y direction needs to be specified. By default it is at the middle point on y-axis.
A vector of numeric values which are measured in the specified data coordinate.
For pre-defined units, users can use cm_x
, mm_x
and inches_x
.
convert_y
converts on y direction.
https://jokergoo.github.io/circlize_book/book/circular-layout.html#convert-functions
# NOT RUN {
sectors = letters[1:10]
circos.par(cell.padding = c(0, 0, 0, 0), track.margin = c(0, 0))
circos.initialize(sectors, xlim = cbind(rep(0, 10), runif(10, 0.5, 1.5)))
circos.track(ylim = c(0, 1), track.height = mm_h(5),
panel.fun = function(x, y) {
circos.lines(c(0, 0 + mm_x(5)), c(0.5, 0.5), col = "blue")
})
circos.par(track.margin = c(0, mm_h(2)))
circos.track(ylim = c(0, 1), track.height = cm_h(1),
panel.fun = function(x, y) {
xcenter = get.cell.meta.data("xcenter")
circos.lines(c(xcenter, xcenter), c(0, cm_y(1)), col = "red")
})
circos.par(track.margin = c(0, mm_h(5)))
circos.track(ylim = c(0, 1), track.height = inch_h(1),
panel.fun = function(x, y) {
line_length_on_x = cm_x(1*sqrt(2)/2)
line_length_on_y = cm_y(1*sqrt(2)/2)
circos.lines(c(0, line_length_on_x), c(0, line_length_on_y), col = "orange")
})
circos.clear()
# }
Run the code above in your browser using DataLab