Jika kita ingin lebih memanfaatkan warna yang tersedia, kita memerlukan seluruh daftar (nama dan sedikit contoh). Saya membuat sepotong kode untuk menghasilkan kedua set warna. Dalam kedua kasus, matplotlib memiliki beberapa metode yang dapat Anda gunakan untuk mengekstrak informasi warna, jadi kami tidak membuat roda lagi, hanya menggunakan apa yang telah disediakan. Show Kami bisa mendapatkan beberapa kecanggihan tambahan, seperti menggunakan kode HTML dan bereksperimen membuat warna Anda sendiri. Saran saya bawa pulang adalah. mulai dari yang sederhana, gunakan apa yang disediakan, dan lebih fokus pada analisis/visualisasi Anda. Jika setelah beberapa saat Anda merasa nyaman, lakukan beberapa percobaan Warna hijau, cyan, magenta, dan kuning tidak sesuai dengan warna X11/CSS4. Nuansa khusus mereka dipilih untuk visibilitas yang lebih baik dari garis berwarna dengan latar belakang yang khas
Nama warna X11/CSS4 case-insensitive tanpa spasi
Nama warna case-insensitive dari survei warna xkcd dengan awalan import matplotlib.colors as mcolors import matplotlib.patches as mpatch 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(n_rows, -1) ax.axis('off') plt.show()5
Warna Tablo case-insensitive dari palet kategori 'T10' Catatan Ini adalah siklus warna default
spesifikasi warna "CN" di mana Catatan Matplotlib mengindeks warna pada waktu pengundian dan default ke hitam jika siklus tidak menyertakan warna
Lihat juga Tautan berikut memberikan informasi lebih lanjut tentang warna di Matplotlib
"Merah", "Hijau", dan "Biru" adalah intensitas warna-warna tersebut. Dalam kombinasi, mereka mewakili ruang warna TransparansiNilai alfa warna menentukan transparansinya, di mana 0 sepenuhnya transparan dan 1 sepenuhnya buram. Saat warna semi-transparan, warna latar belakang akan terlihat Nilai alpha menentukan warna yang dihasilkan dengan memadukan warna latar depan dengan warna latar belakang sesuai dengan rumus \[RGB_{hasil} = RGB_{latar belakang} * (1 - \alfa) + RGB_{latar depan} * \alfa\] Plot berikut menggambarkan efek transparansi import matplotlib.pyplot as plt from matplotlib.patches import Rectangle import numpy as np fig, ax = plt.subplots(figsize=(6.5, 1.65), layout='constrained') ax.add_patch(Rectangle((-0.2, -0.35), 11.2, 0.7, color='C1', alpha=0.8)) for i, alpha in enumerate(np.linspace(0, 1, 11)): ax.add_patch(Rectangle((i, 0.05), 0.8, 0.6, alpha=alpha, zorder=0)) ax.text(i+0.4, 0.85, f"{alpha:.1f}", ha='center') ax.add_patch(Rectangle((i, -0.05), 0.8, -0.6, alpha=alpha, zorder=2)) ax.set_xlim(-0.2, 13) ax.set_ylim(-1, 1) ax.set_title('alpha values') ax.text(11.3, 0.6, 'zorder=1', va='center', color='C0') ax.text(11.3, 0, 'zorder=2\nalpha=0.8', va='center', color='C1') ax.text(11.3, -0.6, 'zorder=3', va='center', color='C0') ax.axis('off') Persegi panjang oranye semi-transparan dengan alfa = 0. 8. Baris atas kotak biru digambar di bawah dan baris bawah kotak biru digambar di atas persegi panjang jingga Lihat juga Demo Zorder untuk mempelajari lebih lanjut tentang urutan gambar. pemilihan warna "CN".Matplotlib mengubah warna "CN" menjadi RGBA saat menggambar Artis. Bagian Menata gaya dengan cycler berisi informasi tambahan tentang mengontrol properti warna dan gaya. import numpy as np import matplotlib.pyplot as plt import matplotlib as mpl th = np.linspace(0, 2*np.pi, 128) def demo(sty): mpl.style.use(sty) fig, ax = plt.subplots(figsize=(3, 3)) ax.set_title('style: {!r}'.format(sty), color='C0') ax.plot(th, np.cos(th), 'C1', label='C1') ax.plot(th, np.sin(th), 'C2', label='C2') ax.legend() demo('default') demo('seaborn-v0_8') Warna pertama Perbandingan antara warna X11/CSS4 dan xkcdWarna xkcd berasal dari survei pengguna yang dilakukan oleh webcomic xkcd 95 dari 148 nama warna X11/CSS4 juga muncul di survei warna xkcd. Hampir semuanya memetakan ke nilai warna yang berbeda di X11/CSS4 dan di palet xkcd. Hanya 'hitam', 'putih' dan 'cyan' yang identik Misalnya, import matplotlib.colors as mcolors import matplotlib.patches as mpatch 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(n_rows, -1) ax.axis('off') plt.show()5 Bagaimana Anda mewarnai kode dengan Python?Warna python . 'b'- biru 'c' - cyan 'g' - hijau 'k' - hitam 'm' - ungu 'r' - merah 'w' - putih 'y' - kuning Bagaimana cara mewarnai angka?Bagaimana cara mewarnai kode sebuah kode?Kode warna hex dimulai dengan tanda pound atau tagar (#) dan diikuti dengan enam huruf dan/atau angka . Dua huruf/angka pertama melambangkan warna merah, dua huruf/angka berikutnya melambangkan warna hijau, dan dua huruf/angka terakhir melambangkan warna biru. Nilai warna ditentukan dalam nilai antara 00 dan FF (bukan dari 0 hingga 255 dalam RGB).
Bisakah Anda mewarnai teks dengan Python?Agar beberapa teks Anda lebih mudah dibaca, Anda dapat menggunakan kode escape ANSI untuk mengubah warna keluaran teks dalam program python Anda . Kasus penggunaan yang baik untuk ini adalah menyoroti kesalahan. |