|
| 1 | +--- |
| 2 | +title: HOWTO Change Metric Explorer Colors |
| 3 | +--- |
| 4 | + |
| 5 | +The color palette available to style chart data in Metric Explorer can be edited |
| 6 | +in the JSON file `colors1.json` (`/etc/xdmod/colors1.json` if you installed the RPM or |
| 7 | +`PREFIX/etc/colors1.json` if you did a manual install). |
| 8 | + |
| 9 | +The default version of `colors1.json` (and what is used as a fallback palette if `colors1.json` |
| 10 | +is missing or malformed) is shown below |
| 11 | + |
| 12 | +```json |
| 13 | +[ |
| 14 | + [ |
| 15 | + ["FFFFFF"], ["1199FF"], ["DB4230"], ["4E665D"], ["F4A221"], ["66FF00"], ["33ABAB"], ["A88D95"], |
| 16 | + ["789ABC"], ["FF99CC"], ["00CCFF"], ["FFBC71"], ["A57E81"], ["8D4DFF"], ["FF6666"], ["CC99FF"], |
| 17 | + ["2F7ED8"], ["0D233A"], ["8BBC21"], ["910000"], ["1AADCE"], ["492970"], ["F28F43"], ["77A1E5"], |
| 18 | + ["3366FF"], ["FF6600"], ["808000"], ["CC99FF"], ["008080"], ["CC6600"], ["9999FF"], ["99FF99"], |
| 19 | + ["969696"], ["FF00FF"], ["FFCC00"], ["666699"], ["00FFFF"], ["00CCFF"], ["993366"], ["3AAAAA"], |
| 20 | + ["C0C0C0"], ["FF99CC"], ["FFCC99"], ["CCFFCC"], ["CCFFFF"], ["99CCFF"], ["339966"], ["FF9966"], |
| 21 | + ["69BBED"], ["33FF33"], ["6666FF"], ["FF66FF"], ["99ABAB"], ["AB8722"], ["AB6565"], ["990099"], |
| 22 | + ["999900"], ["CC3300"], ["669999"], ["993333"], ["339966"], ["C42525"], ["A6C96A"], ["111111"] |
| 23 | + ] |
| 24 | +] |
| 25 | +``` |
| 26 | + |
| 27 | +To change the colors available, simply edit the hexadecimal codes for any of the swatches in the palette. |
| 28 | +To add a new color or set of colors, make sure to keep the JSON array rectangular with the same width. |
| 29 | + |
| 30 | +As an example, to add the colors `123456` and `654321` you'd need to pad the table with other colors. |
| 31 | +In this case, they're padded with white, which Open XDMoD skips when showing charts. |
| 32 | + |
| 33 | +```json |
| 34 | +[ |
| 35 | + [ |
| 36 | + ["FFFFFF"], ["1199FF"], ["DB4230"], ["4E665D"], ["F4A221"], ["66FF00"], ["33ABAB"], ["A88D95"], |
| 37 | + ["789ABC"], ["FF99CC"], ["00CCFF"], ["FFBC71"], ["A57E81"], ["8D4DFF"], ["FF6666"], ["CC99FF"], |
| 38 | + ["2F7ED8"], ["0D233A"], ["8BBC21"], ["910000"], ["1AADCE"], ["492970"], ["F28F43"], ["77A1E5"], |
| 39 | + ["3366FF"], ["FF6600"], ["808000"], ["CC99FF"], ["008080"], ["CC6600"], ["9999FF"], ["99FF99"], |
| 40 | + ["969696"], ["FF00FF"], ["FFCC00"], ["666699"], ["00FFFF"], ["00CCFF"], ["993366"], ["3AAAAA"], |
| 41 | + ["C0C0C0"], ["FF99CC"], ["FFCC99"], ["CCFFCC"], ["CCFFFF"], ["99CCFF"], ["339966"], ["FF9966"], |
| 42 | + ["69BBED"], ["33FF33"], ["6666FF"], ["FF66FF"], ["99ABAB"], ["AB8722"], ["AB6565"], ["990099"], |
| 43 | + ["999900"], ["CC3300"], ["669999"], ["993333"], ["339966"], ["C42525"], ["A6C96A"], ["111111"], |
| 44 | + ["123456"], ["654321"], ["FFFFFF"], ["FFFFFF"], ["FFFFFF"], ["FFFFFF"], ["FFFFFF"], ["FFFFFF"] |
| 45 | + ] |
| 46 | +] |
| 47 | +``` |
| 48 | + |
| 49 | +Charts in Open XDMoD will go sequentially through this list when deciding what colors to color grouped sets within |
| 50 | +one dataset on a chart. As such, you can create a gradient by defining it sequentially in this list. The |
| 51 | +following JSON list adds a 8-element "snapshot" of [the Viridis color gradient](https://bids.github.io/colormap/). |
| 52 | + |
| 53 | +```json |
| 54 | +[ |
| 55 | + [ |
| 56 | + ["FFFFFF"], ["1199FF"], ["DB4230"], ["4E665D"], ["F4A221"], ["66FF00"], ["33ABAB"], ["A88D95"], |
| 57 | + ["789ABC"], ["FF99CC"], ["00CCFF"], ["FFBC71"], ["A57E81"], ["8D4DFF"], ["FF6666"], ["CC99FF"], |
| 58 | + ["2F7ED8"], ["0D233A"], ["8BBC21"], ["910000"], ["1AADCE"], ["492970"], ["F28F43"], ["77A1E5"], |
| 59 | + ["3366FF"], ["FF6600"], ["808000"], ["CC99FF"], ["008080"], ["CC6600"], ["9999FF"], ["99FF99"], |
| 60 | + ["969696"], ["FF00FF"], ["FFCC00"], ["666699"], ["00FFFF"], ["00CCFF"], ["993366"], ["3AAAAA"], |
| 61 | + ["C0C0C0"], ["FF99CC"], ["FFCC99"], ["CCFFCC"], ["CCFFFF"], ["99CCFF"], ["339966"], ["FF9966"], |
| 62 | + ["69BBED"], ["33FF33"], ["6666FF"], ["FF66FF"], ["99ABAB"], ["AB8722"], ["AB6565"], ["990099"], |
| 63 | + ["FDE725"], ["A0DA39"], ["4AC16D"], ["1FA187"], ["277F8E"], ["365C8D"], ["46327E"], ["440154"] |
| 64 | + ] |
| 65 | +] |
| 66 | +``` |
| 67 | + |
| 68 | +Open XDMOD indexes the colors based on the first instance of the color found in that list, |
| 69 | +so any duplicate colors may wreck havoc on group-by coloring. |
| 70 | +As an example, selecting the first `123456` in the following |
| 71 | +palette would cause the next two groups in that dataset to be colored `AABBCC` and `CCBBAA`. |
| 72 | +Selecting the second `123456` in the palette would result in the next two groups *still* being colored `AABBCC` and `CCBBAA`. |
| 73 | + |
| 74 | +```json |
| 75 | +[ |
| 76 | + [ |
| 77 | + ["123456"], ["AABBCC"], ["CCBBAA"], ["123456"], ["111111"], ["222222"], ["333333"], ["444444"] |
| 78 | + ] |
| 79 | +] |
| 80 | +``` |
| 81 | + |
| 82 | +The palette below shows a workaround for this problem in order to add both an 8-element and 10-element Viridis gradient. |
| 83 | +This is done by nudging the starting point over by a value of 1 in any of the 3 RGB channels. In this example, the starting point of the |
| 84 | +8-element gradient is `FDE725`, and the starting point of the 10-element gradient is `FDE726`. |
| 85 | + |
| 86 | +```json |
| 87 | +[ |
| 88 | + [ |
| 89 | + ["FFFFFF"], ["1199FF"], ["DB4230"], ["4E665D"], ["F4A221"], ["66FF00"], ["33ABAB"], ["A88D95"], |
| 90 | + ["789ABC"], ["FF99CC"], ["00CCFF"], ["FFBC71"], ["A57E81"], ["8D4DFF"], ["FF6666"], ["CC99FF"], |
| 91 | + ["2F7ED8"], ["0D233A"], ["8BBC21"], ["910000"], ["1AADCE"], ["492970"], ["F28F43"], ["77A1E5"], |
| 92 | + ["3366FF"], ["FF6600"], ["808000"], ["CC99FF"], ["008080"], ["CC6600"], ["9999FF"], ["99FF99"], |
| 93 | + ["969696"], ["FF00FF"], ["FFCC00"], ["666699"], ["00FFFF"], ["00CCFF"], ["993366"], ["3AAAAA"], |
| 94 | + ["C0C0C0"], ["FF99CC"], ["FFCC99"], ["CCFFCC"], ["CCFFFF"], ["99CCFF"], ["339966"], ["FF9966"], |
| 95 | + ["69BBED"], ["33FF33"], ["6666FF"], ["FF66FF"], ["99ABAB"], ["AB8722"], ["AB6565"], ["990099"], |
| 96 | + ["FDE725"], ["A0DA39"], ["4AC16D"], ["1FA187"], ["277F8E"], ["365C8D"], ["46327E"], ["440154"], |
| 97 | + ["FDE726"], ["B5DE2B"], ["6ECE58"], ["35B779"], ["1F9E89"], ["26828e"], ["31688E"], ["3E4989"], |
| 98 | + ["482878"], ["440155"], ["FFFFFF"], ["FFFFFF"], ["FFFFFF"], ["FFFFFF"], ["FFFFFF"], ["FFFFFF"] |
| 99 | + ] |
| 100 | +] |
| 101 | +``` |
0 commit comments