circos.axis.Rd
Draw x-axis
circos.axis( h = "top", major.at = NULL, labels = TRUE, major.tick = TRUE, sector.index = get.current.sector.index(), track.index = get.current.track.index(), labels.font = par("font"), labels.cex = par("cex"), labels.facing = "inside", labels.direction = NULL, labels.niceFacing = TRUE, direction = c("outside", "inside"), minor.ticks = 4, major.tick.length = mm_y(1), lwd = par("lwd"), col = par("col"), labels.col = par("col"), labels.pos.adjust = TRUE)
h | Position of the x-axis, can be "top", "bottom" or a numeric value |
---|---|
major.at | If it is numeric vector, it identifies the positions of the major ticks. It can exceed |
labels | labels of the major ticks. Also, the exceeding part would be trimmed automatically. The value can also be logical (either an atomic value or a vector) which represents which labels to show. |
major.tick | Whether to draw major tick. If it is set to |
sector.index | Index for the sector. |
track.index | Index for the track. |
labels.font | Font style for the axis labels. |
labels.cex | Font size for the axis labels. |
labels.direction | Deprecated, use |
labels.facing | Facing of labels on axis, passing to |
labels.niceFacing | Should facing of axis labels be human-easy. |
direction | Whether the axis ticks point to the outside or inside of the circle. |
minor.ticks | Number of minor ticks between two close major ticks. |
major.tick.length | Length of the major ticks, measured in "current" data coordinate. |
lwd | Line width for ticks. |
col | Color for the axes. |
labels.col | Color for the labels. |
labels.pos.adjust | Whether to adjust the positions of the first label and the last label so that the first label align to its left and the last label align to its right if they exceed the range on axes. The value can be a vector of length two which correspond to the first label and the last label. |
It only draws axes on x-direction.
circos.yaxis
draws axes on y-direction.
https://jokergoo.github.io/circlize_book/book/graphics.html#axes
sectors = letters[1:8] circos.par(points.overflow.warning = FALSE) circos.initialize(sectors, xlim = c(0, 10))circos.trackPlotRegion(sectors, ylim = c(0, 10), track.height = 0.1, bg.border = NA, panel.fun = function(x, y) { circos.text(5, 10, get.cell.meta.data("sector.index")) })circos.axis(sector.index = "a")circos.axis(sector.index = "b", direction = "inside", labels.facing = "outside")circos.axis(sector.index = "c", h = "bottom")circos.axis(sector.index = "d", h = "bottom", direction = "inside", labels.facing = "reverse.clockwise")circos.axis(sector.index = "f", h = 5, major.at = c(1, 3, 5, 7, 9), labels = c("a", "c", "e", "g", "f"), minor.ticks = 0)circos.axis(sector.index = "g", h = 5, major.at = c(1, 3, 5, 7, 9), labels = c("a1", "c1", "e1", "g1", "f1"), major.tick = FALSE, labels.facing = "reverse.clockwise")circos.axis(sector.index = "h", h = 2, major.at = c(1, 3, 5, 7, 9), labels = c("a1", "c1", "e1", "g1", "f1"), minor.ticks = 2, major.tick.length = mm_y(5), labels.facing = "clockwise")circos.clear() if(FALSE) { ############### real-time clock ################# factors = letters[1] circos.par("gap.degree" = 0, "cell.padding" = c(0, 0, 0, 0), "start.degree" = 90) circos.initialize(sectors, xlim = c(0, 12)) circos.trackPlotRegion(sectors, ylim = c(0, 1), bg.border = NA) circos.axis(sector.index = "a", major.at = 0:12, labels = "", direction = "inside", major.tick.length = mm_y(3)) circos.text(1:12, rep(0.5, 12), 1:12, facing = "downward") while(1) { current.time = as.POSIXlt(Sys.time()) sec = ceiling(current.time$sec) min = current.time$min hour = current.time$hour # erase the clock hands draw.sector(rou1 = 0.8, border = "white", col = "white") sec.degree = 90 - sec/60 * 360 arrows(0, 0, cos(sec.degree/180*pi)*0.8, sin(sec.degree/180*pi)*0.8) min.degree = 90 - min/60 * 360 arrows(0, 0, cos(min.degree/180*pi)*0.7, sin(min.degree/180*pi)*0.7, lwd = 2) hour.degree = 90 - hour/12 * 360 - min/60 * 360/12 arrows(0, 0, cos(hour.degree/180*pi)*0.4, sin(hour.degree/180*pi)*0.4, lwd = 2) Sys.sleep(1) } circos.clear() }