Bit and Hachure Patterns

PyGMT allows using bit or hachure patterns via the fill parameter or similar parameters:

The required argument has the following form:


pattern can either be a number in the range 1-90 or the name of a 1-, 8-, or 24-bit image raster file. The former will result in one of the 90 predefined 64 x 64 bit-patterns provided by GMT; an overview can by found at The latter allows the user to create customized, repeating images using image raster files. By specifying upper case P instead of p the image will be bit-reversed, i.e., white and black areas will be interchanged (only applies to 1-bit images or predefined bit-image patterns). For these patterns and other 1-bit images one may specify alternative background and foreground colors (by appending +bcolor and/or +fcolor) that will replace the default white and black pixels, respectively. Excluding color from a fore- or background specification yields a transparent image where only the back- or foreground pixels will be painted. The +rdpi modifier sets the resolution in dpi.

import pygmt

y = 11

fig = pygmt.Figure()
    region=[0, 10, 0, 12],
    frame="rlbt+glightgray+tBit and Hachure Patterns",

# To use a pattern as fill append "p" and the number of the desired
# pattern. By default, the pattern is plotted in black and white
# with a resolution of 300 dpi
for pattern in [
    # Plot a hachted pattern via pattern number 8
    # Plot a dotted pattern via pattern number 19
    # Set the background color ("+b") to "red3"
    # and the foreground color ("+f") to "lightgray"
    # Invert the pattern by using a capitalized "P"
    # Change the resolution ("+r") to 100 dpi
    # Make the background transparent by not giving a color after "+b";
    # works analogous for the foreground
    # Plot a square with the pattern as fill
        style="s2c",  # square with a width of 2 centimeters
        pen="1p,black",  # 1 point thick, black outline
    # Add a description of the pattern
        justify="ML",  # justification of the text is Middle Left
    y -= 2

Total running time of the script: ( 0 minutes 1.778 seconds)

Gallery generated by Sphinx-Gallery