metview-python icon indicating copy to clipboard operation
metview-python copied to clipboard

Colouring text background and labels

Open gkafk opened this issue 3 years ago • 2 comments

Hi,

Is there any way of colouring the background of text region? image

A text_box_blanking but with colour or transparency?

image

Also, is there any way of making contour lines cut around label? image

like that?

image

thanks George

gkafk avatar Aug 13 '21 10:08 gkafk

Hi George,

Good questions! To go beyond the simple white background that you get with text_box_blanking='on' you need to use the Annotation View, described a bit here: https://confluence.ecmwf.int/display/METV/Layout+in+Metview

Here is some Python code that uses it the way you want:

text = mv.mtext(
    text_lines          = ["Hello world", "How are you?"],
    text_colour         = "black",
    text_font_size      = 0.5,
    text_mode           = "positional",
    text_justification  = "left"
    )

gview = mv.geoview()

geo_page = mv.plot_page(view = gview)

annotation_view = mv.annotationview(
    #subpage_background_colour = "peach"
    subpage_background_colour = "RGBA(1, 0.5, 0.5, 0.5)"
    )

text_page = mv.plot_page(
    top    = 40, # % of main page from top-left
    bottom = 50,
    left   = 30,
    right  = 55,
    view   = annotation_view
    )

dw = mv.plot_superpage(pages = [geo_page,text_page])

mv.plot(dw[0], data, dw[1], text)

image

Unfortunately we do not support the gaps in isolines required for your second question, but blanking of labels is on, as long as you don't turn off contour_label_blanking. image

I hope this helps a little!

Iain

iainrussell avatar Aug 13 '21 11:08 iainrussell

Thanks Iain.

I will try it.

gkafk avatar Aug 18 '21 07:08 gkafk