Circos > Documentation > Tutorials > Image Maps > Highlights Data
Circos at the EMBO NGS workshop in Tunis, Sept 15–25.

Use the latest version of Circos and read Circos best practices—these list recent important changes and identify sources of common problems.
If you are having trouble, post your issue to the Circos Google Group and include all files and detailed error logs. Please do not email me directly unless it is urgent—you are much more likely to receive a timely reply from the group.
Don't know what question to ask? Read Points of View: Visualizing Biological Data by Bang Wong, myself and invited authors from the Points of View series.

10 — Image Maps

4. Clickable Highlights and Data

In addition to ideograms, bands and ticks, data elements such as highlights, scatter plots, histograms, text and ribbons can be associated with a link. The mechanism very similar to that of ideograms and bands.

defining url elements for highlights, plots and links

To associate an element with a URL, define a url parameter in its block. Here are some examples


url              = script?type=highlight&start=[start]&end=[end]&chr=[chr]



url              = script?type=plot&start=[start]&end=[end]



url              = script?type=ribbon&start=[start]&end=[end]


As soon as the url parameter is defined in a block, all data points (or ribbons or highlights) for that block have links. You can use the following parameters

  • chr
  • start
  • start1 (ribbons)
  • start2 (ribbons)
  • end
  • end1 (ribbons)
  • end2 (ribbons)
  • size1 (ribbons)
  • size2 (ribbons)
  • color
  • fill_color
  • stroke_color
  • stroke_thickness
  • glyph (scatter)
  • glyph_size (scatter)
  • value (scatter, histogram, heatmap, text)
  • id (for data points that have this element defined in the input file)

The example image in this tutorial shows a an image with many types of elements, each with its own url definition. Notice that for places where link areas overlap, the element that was drawn last is the one that responds to clicking.

using rules to adjust URLs

Rules can be used to adjust the url parameter. This works in the same manner as for any other adjustable parameter.

type = text
# any label that contains M will have a different URL
condition  = var(value) =~ /M/
url        = special?label=[label]