This example will create colorbar files for each available colormap and the corresponding test images. It also demonstrates how you can create your own colormap defined in an array, or import it from a text file. You can create your own colormap using that array. The name of your colormap must conform to the max length defined in colormap_parameters.f90 Use the create() method instead of the set() method. We create PPM files (binary encoded by default) for each built-in colormap. The built-in z=f(x,y) test function is in the [0, 2] range: Cubehelix can also accept other parameters (varargs array):
Or you can download it from a .txt file. Use the load() method instead of the set() method.
Type | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|
type(Colormap) | :: | cmap | ||||
type(Colormap) | :: | custom_cmap | ||||
integer | :: | i | ||||
integer, | dimension(0:7, 3) | :: | my_colormap | = | reshape([198, 29, 32, 189, 21, 56, 171, 82, 150, 102, 81, 156, 38, 53, 108, 5, 65, 40, 221, 199, 44, 237, 191, 44], shape(my_colormap), order=[2, 1]) |
A discrete colormap with 8 levels, by @alozada, resembling the color changes in red cabbage (containing Anthocyanins) with pH: |
program demo use forcolormap, only: Colormap, colormaps_list, wp use forcolormap_utils, only: test_colormap implicit none integer :: i type(Colormap) :: cmap, custom_cmap !> A discrete colormap with 8 levels, by @alozada, resembling the color !> changes in red cabbage (containing Anthocyanins) with pH: integer, dimension(0:7, 3) :: my_colormap = reshape( [ & 198, 29, 32, & 189, 21, 56, & 171, 82, 150, & 102, 81, 156, & 38, 53, 108, & 5, 65, 40, & 221, 199, 44, & 237, 191, 44 ], & shape(my_colormap), order = [2, 1] ) !> You can create your own colormap using that array. The name of your !> colormap must conform to the max length defined in colormap_parameters.f90 !> Use the create() method instead of the set() method. call custom_cmap%create('red_cabbage', 0.0_wp, 2.0_wp, my_colormap) call custom_cmap%colorbar('red_cabbage_colorbar') call test_colormap(custom_cmap, 'red_cabbage_test') !> We create PPM files (binary encoded by default) for each built-in colormap. !> The built-in z=f(x,y) test function is in the [0, 2] range: do i = 1, size(colormaps_list) call cmap%set(trim(colormaps_list(i)), 0.0_wp, 2.0_wp) call cmap%colorbar(trim(colormaps_list(i))//'_colorbar') call test_colormap(cmap, trim(colormaps_list(i))//'_test') print '("Colormap ", A30, " has ", I0, " levels")', trim(cmap%get_name()), cmap%get_levels() end do !> Cubehelix can also accept other parameters (varargs array): call cmap%set("cubehelix", 0.0_wp, 2.0_wp, 1024, [0.5_wp, -1.0_wp, 1.0_wp, 1.0_wp]) ! We change the name for the output test files: call cmap%colorbar('cubehelix_customized_colorbar') call test_colormap(cmap, 'cubehelix_customized_test') !> Or you can download it from a .txt file. !> Use the load() method instead of the set() method. call custom_cmap%load("test_map_to_load.txt", 0.0_wp, 2.0_wp) call custom_cmap%colorbar('a_loaded_colorbar') call test_colormap(custom_cmap, 'a_loaded_colormap_test') call custom_cmap%print() end program demo