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))

Arguments

x

a numeric vector.

unit

supported units, only "mm", "cm", "inches".

sector.index

index for the sector where the conversion is applied.

track.index

index for the track where the conversion is applied.

h

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.

Value

A vector of numeric values which are measured in the specified data coordinate.

See also

Examples

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") })