めんまのつぶやき

matplotlibの色の一覧をpandasで作る

pythonのmatplotlibでグラフを書くとき時々色を指定したくなりますが、その度に色の名前や16進数のカラーコードを検索しています。しかし毎回検索するのは面倒なので色の一覧を出力するプログラムを書きました。
検索してよく出てくる色の一覧は画像ファイルですが、このプログラムではpandasを使って表形式でまとめているため、色の名前やカラーコードのコピペがしやすいです。

コードは次の通り。

import matplotlib as mpl
import pandas as pd

df = pd.DataFrame(list(mpl.colors.cnames.items()), columns=['name','hex'])
df['hsv'] = df['hex'].map(lambda x:list(mpl.colors.rgb_to_hsv(mpl.colors.to_rgb(x))))
df['color'] = df['hex']
df = df.sort_values(by='hsv').reset_index(drop=True).drop(columns='hsv')
display(df.style.applymap(lambda x:f'background-color : {x}; color : {x}', subset='color'))

これを実行すると次のような表が出力されます。
あとは適当な色の名前をコピーして使ってください。
個人的には 'dimgray'、'tomato'、'darkorange'、'gold、'darkcyan'、'skyblue' あたりが好みです。

name hex color
0 black #000000 #000000
1 dimgray #696969 #696969
2 dimgrey #696969 #696969
3 grey #808080 #808080
4 gray #808080 #808080
5 darkgray #A9A9A9 #A9A9A9
6 darkgrey #A9A9A9 #A9A9A9
7 silver #C0C0C0 #C0C0C0
8 lightgrey #D3D3D3 #D3D3D3
9 lightgray #D3D3D3 #D3D3D3
10 gainsboro #DCDCDC #DCDCDC
11 whitesmoke #F5F5F5 #F5F5F5
12 white #FFFFFF #FFFFFF
13 snow #FFFAFA #FFFAFA
14 rosybrown #BC8F8F #BC8F8F
15 lightcoral #F08080 #F08080
16 indianred #CD5C5C #CD5C5C
17 brown #A52A2A #A52A2A
18 firebrick #B22222 #B22222
19 maroon #800000 #800000
20 darkred #8B0000 #8B0000
21 red #FF0000 #FF0000
22 mistyrose #FFE4E1 #FFE4E1
23 salmon #FA8072 #FA8072
24 tomato #FF6347 #FF6347
25 darksalmon #E9967A #E9967A
26 coral #FF7F50 #FF7F50
27 orangered #FF4500 #FF4500
28 lightsalmon #FFA07A #FFA07A
29 sienna #A0522D #A0522D
30 seashell #FFF5EE #FFF5EE
31 chocolate #D2691E #D2691E
32 saddlebrown #8B4513 #8B4513
33 sandybrown #F4A460 #F4A460
34 peachpuff #FFDAB9 #FFDAB9
35 peru #CD853F #CD853F
36 linen #FAF0E6 #FAF0E6
37 bisque #FFE4C4 #FFE4C4
38 darkorange #FF8C00 #FF8C00
39 burlywood #DEB887 #DEB887
40 antiquewhite #FAEBD7 #FAEBD7
41 tan #D2B48C #D2B48C
42 navajowhite #FFDEAD #FFDEAD
43 blanchedalmond #FFEBCD #FFEBCD
44 papayawhip #FFEFD5 #FFEFD5
45 moccasin #FFE4B5 #FFE4B5
46 orange #FFA500 #FFA500
47 wheat #F5DEB3 #F5DEB3
48 oldlace #FDF5E6 #FDF5E6
49 floralwhite #FFFAF0 #FFFAF0
50 darkgoldenrod #B8860B #B8860B
51 goldenrod #DAA520 #DAA520
52 cornsilk #FFF8DC #FFF8DC
53 gold #FFD700 #FFD700
54 lemonchiffon #FFFACD #FFFACD
55 khaki #F0E68C #F0E68C
56 palegoldenrod #EEE8AA #EEE8AA
57 darkkhaki #BDB76B #BDB76B
58 ivory #FFFFF0 #FFFFF0
59 beige #F5F5DC #F5F5DC
60 lightyellow #FFFFE0 #FFFFE0
61 lightgoldenrodyellow #FAFAD2 #FAFAD2
62 olive #808000 #808000
63 yellow #FFFF00 #FFFF00
64 olivedrab #6B8E23 #6B8E23
65 yellowgreen #9ACD32 #9ACD32
66 darkolivegreen #556B2F #556B2F
67 greenyellow #ADFF2F #ADFF2F
68 chartreuse #7FFF00 #7FFF00
69 lawngreen #7CFC00 #7CFC00
70 honeydew #F0FFF0 #F0FFF0
71 darkseagreen #8FBC8F #8FBC8F
72 palegreen #98FB98 #98FB98
73 lightgreen #90EE90 #90EE90
74 forestgreen #228B22 #228B22
75 limegreen #32CD32 #32CD32
76 darkgreen #006400 #006400
77 green #008000 #008000
78 lime #00FF00 #00FF00
79 seagreen #2E8B57 #2E8B57
80 mediumseagreen #3CB371 #3CB371
81 springgreen #00FF7F #00FF7F
82 mintcream #F5FFFA #F5FFFA
83 mediumspringgreen #00FA9A #00FA9A
84 mediumaquamarine #66CDAA #66CDAA
85 aquamarine #7FFFD4 #7FFFD4
86 turquoise #40E0D0 #40E0D0
87 lightseagreen #20B2AA #20B2AA
88 mediumturquoise #48D1CC #48D1CC
89 azure #F0FFFF #F0FFFF
90 lightcyan #E0FFFF #E0FFFF
91 paleturquoise #AFEEEE #AFEEEE
92 darkslategray #2F4F4F #2F4F4F
93 darkslategrey #2F4F4F #2F4F4F
94 teal #008080 #008080
95 darkcyan #008B8B #008B8B
96 cyan #00FFFF #00FFFF
97 aqua #00FFFF #00FFFF
98 darkturquoise #00CED1 #00CED1
99 cadetblue #5F9EA0 #5F9EA0
100 powderblue #B0E0E6 #B0E0E6
101 lightblue #ADD8E6 #ADD8E6
102 deepskyblue #00BFFF #00BFFF
103 skyblue #87CEEB #87CEEB
104 lightskyblue #87CEFA #87CEFA
105 steelblue #4682B4 #4682B4
106 aliceblue #F0F8FF #F0F8FF
107 dodgerblue #1E90FF #1E90FF
108 lightslategrey #778899 #778899
109 lightslategray #778899 #778899
110 slategrey #708090 #708090
111 slategray #708090 #708090
112 lightsteelblue #B0C4DE #B0C4DE
113 cornflowerblue #6495ED #6495ED
114 royalblue #4169E1 #4169E1
115 ghostwhite #F8F8FF #F8F8FF
116 lavender #E6E6FA #E6E6FA
117 midnightblue #191970 #191970
118 navy #000080 #000080
119 darkblue #00008B #00008B
120 mediumblue #0000CD #0000CD
121 blue #0000FF #0000FF
122 slateblue #6A5ACD #6A5ACD
123 darkslateblue #483D8B #483D8B
124 mediumslateblue #7B68EE #7B68EE
125 mediumpurple #9370DB #9370DB
126 rebeccapurple #663399 #663399
127 blueviolet #8A2BE2 #8A2BE2
128 indigo #4B0082 #4B0082
129 darkorchid #9932CC #9932CC
130 darkviolet #9400D3 #9400D3
131 mediumorchid #BA55D3 #BA55D3
132 thistle #D8BFD8 #D8BFD8
133 plum #DDA0DD #DDA0DD
134 violet #EE82EE #EE82EE
135 purple #800080 #800080
136 darkmagenta #8B008B #8B008B
137 fuchsia #FF00FF #FF00FF
138 magenta #FF00FF #FF00FF
139 orchid #DA70D6 #DA70D6
140 mediumvioletred #C71585 #C71585
141 deeppink #FF1493 #FF1493
142 hotpink #FF69B4 #FF69B4
143 lavenderblush #FFF0F5 #FFF0F5
144 palevioletred #DB7093 #DB7093
145 crimson #DC143C #DC143C
146 pink #FFC0CB #FFC0CB
147 lightpink #FFB6C1 #FFB6C1