Nama-nama Warna dalam Markdown dan Python

Nama-nama Warna dalam Markdown dan Python

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:.