Dalam proses penulisan artikel ini, saya akan membahas mengenai nama-nama warna dalam Markdown dan Python. Kedua teknologi tersebut memungkinkan pengguna untuk menggunakan nama-nama warna yang lebih mudah digunakan dan lebih estetis.
Nama-nama Warna dalam Markdown
Dalam Markdown, kita dapat menggunakan nama-nama warna untuk menentukan warna teks atau background. Nama-nama warna tersebut biasanya diawali dengan simbol pagar (#
) dan diikuti oleh nilai warna yang berbeda-beda, seperti #0000FF
untuk warna biru atau #FFFFFF
untuk warna putih.
Contohnya, dalam Markdown kita dapat menuliskan teks dengan warna biru menggunakan kode [Bulan](#0000FF)
.
Nama-nama Warna dalam Python
Dalam Python, kita dapat menggunakan library seperti matplotlib
untuk membuat plot dan mengatur warnanya. Library tersebut menyediakan nama-nama warna yang berbeda-beda, seperti xkcd:blue
untuk warna biru atau CSS4_COLORS['red']
untuk warna merah.
Namun, dalam beberapa kasus, nama-nama warna tersebut dapat bertabrakan (collide), sehingga kita perlu menggunakan prefix yang spesifik, seperti xkcd:
. Contohnya, xkcd:blue
maps to #0343DF
, sedangkan #0000FF
maps to blue
.
Tabel Nama-nama Warna
Berikut adalah tabel nama-nama warna dalam Markdown dan Python:
Nama Warna (Markdown) | Nilai Warna (Python) |
---|---|
#0000FF (Bulan) | xkcd:blue (#0343DF) |
#FFFFFF (Putih) | CSS4_COLORS['white'] (#FFFFFF) |
Grafik Nama-nama Warna
Berikut adalah grafik nama-nama warna yang menunjukkan tabrakan nama-nama warna dalam Python:
import matplotlib.pyplot as plt
import numpy as np
overlap = {name for name in mcolors.CSS4_COLORS
if f'xkcd:{name}' in mcolors.XKCD_COLORS}
fig = plt.figure(figsize=[9, 5])
ax = fig.add_axes([0, 0, 1, 1])
n_groups = 3
n_rows = len(overlap) // n_groups + 1
for j, color_name in enumerate(sorted(overlap)):
css4 = mcolors.CSS4_COLORS[color_name]
xkcd = mcolors.XKCD_COLORS[f'xkcd:{color_name}'].upper()
# Pick text colour based on perceived luminance.
rgba = mcolors.to_rgba_array([css4, xkcd])
luma = 0.299 * rgba[:, 0] + 0.587 * rgba[:, 1] + 0.114 * rgba[:, 2]
css4_text_color = 'k' if luma[0] > 0.5 else 'w'
xkcd_text_color = 'k' if luma[1] > 0.5 else 'w'
col_shift = (j // n_rows) * 3
y_pos = j % n_rows
text_args = dict(fontsize=10, weight='bold' if css4 == xkcd else None)
ax.add_patch(mpatch.Rectangle((0 + col_shift, y_pos), 1, 1, color=css4))
ax.add_patch(mpatch.Rectangle((1 + col_shift, y_pos), 1, 1, color=xkcd))
ax.text(0.5 + col_shift, y_pos + .7, css4,
color=css4_text_color, ha='center', **text_args)
ax.text(1.5 + col_shift, y_pos + .7, xkcd,
color=xkcd_text_color, ha='center', **text_args)
ax.text(2 + col_shift, y_pos + .7, f' {color_name}', **text_args)
for g in range(n_groups):
ax.hlines(range(n_rows), 3*g, 3*g + 2.8, color='0.7', linewidth=1)
ax.text(0.5 + 3*g, -0.3, 'X11/CSS4', ha='center')
ax.text(1.5 + 3*g, -0.3, 'xkcd', ha='center')
ax.set_xlim(0, 3 * n_groups)
ax.set_ylim(-1, 2 * n_rows)
plt.show()
Grafik Scatter Plot
Berikut adalah grafik scatter plot yang menunjukkan tabrakan nama-nama warna dalam Python:
[scatter plot]
Dalam artikel ini, saya telah membahas mengenai nama-nama warna dalam Markdown dan Python. Kedua teknologi tersebut memungkinkan pengguna untuk menggunakan nama-nama warna yang lebih mudah digunakan dan lebih estetis. Grafik scatter plot di atas menunjukkan tabrakan nama-nama warna dalam Python, sehingga kita perlu menggunakan prefix yang spesifik, seperti xkcd:
.