Matplotlib で描くグラフの色を設定する方法
ここでは「Matplotlib で基本的なグラフを描く方法」で書いた単純なグラフの線の色を変更する方法を説明します。
Matplotlib のグラフの線の色を指定する方法
色の名前で文字列として色を指定する方法
線の色を指定するには、Axesオブジェクトのplot()関数を呼び出す際に、 color オプションで色を指定します。次の例では orange という色を指定しています。
import matplotlib.pyplot as plt
x = [0, 1, 2, 3, 4, 5]
y = [1, 2, 4, 3, 5, 10]
fig, ax = plt.subplots()
ax.plot(x, y, color='orange')
ax.grid()
ax.set(xlabel='x', ylabel='y', title='Hello!')
plt.show()
また、色のアルファ値 (透明度) を指定するには、タプルで次のようにします。
ax.plot(x, y, color=('orange', 0.5))
色の16進数カラーコードで指定する方法
colorオプションには CSS のように #FFFF00 のように16進数のカラーコードを直接指定することもできます。
RGB または RGBA のタプルで指定する方法
RGBの色を (r, g, b) (それぞれの値は 0 から 1 の範囲)、または RGBA の色を (r, g, b, a) で指定することもできます。
ax.plot(x, y, color=(0.5, 0.5, 0.0))
Matplotlib で使える標準の色の名前
上記ではオレンジ色を指定するために orange という文字列を、colorオプションに設定しました。
では、Matplotlib ではどのような色が使えるのでしょうか。ひとことで言うと、たくさんの色を名前で指定することができます。
Matplotlib ではmatplotlib.colors モジュール内に、以下のディクショナリが定義されており、それらのディクショナリのキーを色の名前として使うことができます。
- BASE_COLORS
- CSS4_COLORS
- TABLEAU_COLORS
- XKCD_COLORS
BASE_COLORS
BASE_COLORSでは以下の色が RGB で定義されています。
名前 | 値 | |
---|---|---|
b | (0, 0, 1) | |
g | (0, 0.5, 0) | |
r | (1, 0, 0) | |
c | (0, 0.75, 0.75) | |
m | (0.75, 0, 0.75) | |
y | (0.75, 0.75, 0) | |
k | (0, 0, 0) | |
w | (1, 1, 1) |
CSS4_COLORS
名前 | 値 | |
---|---|---|
aliceblue | #F0F8FF | |
antiquewhite | #FAEBD7 | |
aqua | #00FFFF | |
aquamarine | #7FFFD4 | |
azure | #F0FFFF | |
beige | #F5F5DC | |
bisque | #FFE4C4 | |
black | #000000 | |
blanchedalmond | #FFEBCD | |
blue | #0000FF | |
blueviolet | #8A2BE2 | |
brown | #A52A2A | |
burlywood | #DEB887 | |
cadetblue | #5F9EA0 | |
chartreuse | #7FFF00 | |
chocolate | #D2691E | |
coral | #FF7F50 | |
cornflowerblue | #6495ED | |
cornsilk | #FFF8DC | |
crimson | #DC143C | |
cyan | #00FFFF | |
darkblue | #00008B | |
darkcyan | #008B8B | |
darkgoldenrod | #B8860B | |
darkgray | #A9A9A9 | |
darkgreen | #006400 | |
darkgrey | #A9A9A9 | |
darkkhaki | #BDB76B | |
darkmagenta | #8B008B | |
darkolivegreen | #556B2F | |
darkorange | #FF8C00 | |
darkorchid | #9932CC | |
darkred | #8B0000 | |
darksalmon | #E9967A | |
darkseagreen | #8FBC8F | |
darkslateblue | #483D8B | |
darkslategray | #2F4F4F | |
darkslategrey | #2F4F4F | |
darkturquoise | #00CED1 | |
darkviolet | #9400D3 | |
deeppink | #FF1493 | |
deepskyblue | #00BFFF | |
dimgray | #696969 | |
dimgrey | #696969 | |
dodgerblue | #1E90FF | |
firebrick | #B22222 | |
floralwhite | #FFFAF0 | |
forestgreen | #228B22 | |
fuchsia | #FF00FF | |
gainsboro | #DCDCDC | |
ghostwhite | #F8F8FF | |
gold | #FFD700 | |
goldenrod | #DAA520 | |
gray | #808080 | |
green | #008000 | |
greenyellow | #ADFF2F | |
grey | #808080 | |
honeydew | #F0FFF0 | |
hotpink | #FF69B4 | |
indianred | #CD5C5C | |
indigo | #4B0082 | |
ivory | #FFFFF0 | |
khaki | #F0E68C | |
lavender | #E6E6FA | |
lavenderblush | #FFF0F5 | |
lawngreen | #7CFC00 | |
lemonchiffon | #FFFACD | |
lightblue | #ADD8E6 | |
lightcoral | #F08080 | |
lightcyan | #E0FFFF | |
lightgoldenrodyellow | #FAFAD2 | |
lightgray | #D3D3D3 | |
lightgreen | #90EE90 | |
lightgrey | #D3D3D3 | |
lightpink | #FFB6C1 | |
lightsalmon | #FFA07A | |
lightseagreen | #20B2AA | |
lightskyblue | #87CEFA | |
lightslategray | #778899 | |
lightslategrey | #778899 | |
lightsteelblue | #B0C4DE | |
lightyellow | #FFFFE0 | |
lime | #00FF00 | |
limegreen | #32CD32 | |
linen | #FAF0E6 | |
magenta | #FF00FF | |
maroon | #800000 | |
mediumaquamarine | #66CDAA | |
mediumblue | #0000CD | |
mediumorchid | #BA55D3 | |
mediumpurple | #9370DB | |
mediumseagreen | #3CB371 | |
mediumslateblue | #7B68EE | |
mediumspringgreen | #00FA9A | |
mediumturquoise | #48D1CC | |
mediumvioletred | #C71585 | |
midnightblue | #191970 | |
mintcream | #F5FFFA | |
mistyrose | #FFE4E1 | |
moccasin | #FFE4B5 | |
navajowhite | #FFDEAD | |
navy | #000080 | |
oldlace | #FDF5E6 | |
olive | #808000 | |
olivedrab | #6B8E23 | |
orange | #FFA500 | |
orangered | #FF4500 | |
orchid | #DA70D6 | |
palegoldenrod | #EEE8AA | |
palegreen | #98FB98 | |
paleturquoise | #AFEEEE | |
palevioletred | #DB7093 | |
papayawhip | #FFEFD5 | |
peachpuff | #FFDAB9 | |
peru | #CD853F | |
pink | #FFC0CB | |
plum | #DDA0DD | |
powderblue | #B0E0E6 | |
purple | #800080 | |
rebeccapurple | #663399 | |
red | #FF0000 | |
rosybrown | #BC8F8F | |
royalblue | #4169E1 | |
saddlebrown | #8B4513 | |
salmon | #FA8072 | |
sandybrown | #F4A460 | |
seagreen | #2E8B57 | |
seashell | #FFF5EE | |
sienna | #A0522D | |
silver | #C0C0C0 | |
skyblue | #87CEEB | |
slateblue | #6A5ACD | |
slategray | #708090 | |
slategrey | #708090 | |
snow | #FFFAFA | |
springgreen | #00FF7F | |
steelblue | #4682B4 | |
tan | #D2B48C | |
teal | #008080 | |
thistle | #D8BFD8 | |
tomato | #FF6347 | |
turquoise | #40E0D0 | |
violet | #EE82EE | |
wheat | #F5DEB3 | |
white | #FFFFFF | |
whitesmoke | #F5F5F5 | |
yellow | #FFFF00 | |
yellowgreen | #9ACD32 |
TABLEAU_COLORS
TABLEAU_COLORSでは以下の色が16進数のカラーコードで定義されています。
名前 | 値 | |
---|---|---|
tab:blue | #1f77b4 | |
tab:orange | #ff7f0e | |
tab:green | #2ca02c | |
tab:red | #d62728 | |
tab:purple | #9467bd | |
tab:brown | #8c564b | |
tab:pink | #e377c2 | |
tab:gray | #7f7f7f | |
tab:olive | #bcbd22 | |
tab:cyan | #17becf |
XKCD_COLORS
XKCD_COLORSでは非常にたくさんの色が定義されています。
https://xkcd.com/color/rgb にあるようにさまざまな色、たとえば「バナナ色」(#ffff7e)、「グレーっぽい色」(#a8a495) などがあり、それぞれ xkcd:banana、xkcd:greyish で利用できます。
色の名前とカラーコードは次のようにして列挙できます。
import matplotlib.colors as c
for _, (k, v) in enumerate(c.XKCD_COLORS.items()):
print(k, v)
以上、ここでは Matplotlib でグラフの色を変える方法、および、Matplotlib で使える色の名前などについて説明しました。