Bagaimana Anda memberi warna rgb dengan python?

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 (0.1, 0.2, 0.5)_8 mendahului nomor yang bertindak sebagai indeks ke dalam siklus properti default

Catatan

Matplotlib mengindeks warna pada waktu pengundian dan default ke hitam jika siklus tidak menyertakan warna

  • (0.1, 0.2, 0.5)_9

  • (0.1, 0.2, 0.5, 0.3)0

(0.1, 0.2, 0.5, 0.3)1 (default. (0.1, 0.2, 0.5, 0.3)2)

Lihat juga

Tautan berikut memberikan informasi lebih lanjut tentang warna di Matplotlib
  • Demo Warna Contoh

  • API

  • Daftar warna bernama Contoh

"Merah", "Hijau", dan "Biru" adalah intensitas warna-warna tersebut. Dalam kombinasi, mereka mewakili ruang warna

Transparansi

Nilai 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')

Bagaimana Anda memberi warna rgb dengan python?

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')

  • Bagaimana Anda memberi warna rgb dengan python?
  • Bagaimana Anda memberi warna rgb dengan python?

Warna pertama (0.1, 0.2, 0.5)_9 adalah judulnya. Setiap plot menggunakan warna kedua dan ketiga dari masing-masing gaya (0.1, 0.2, 0.5, 0.3)1 (default. (0.1, 0.2, 0.5, 0.3)2). Mereka adalah (0.1, 0.2, 0.5, 0.3)0 dan (0.1, 0.2, 0.5, 0.3)8, masing-masing

Perbandingan antara warna X11/CSS4 dan xkcd

Warna 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, (0.1, 0.2, 0.5, 0.3)_9 memetakan ke '#0f0f0f'0 sedangkan '#0f0f0f'1 memetakan ke '#0f0f0f'2. Karena tabrakan nama ini, semua warna xkcd memiliki 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

Bagaimana Anda menentukan warna RGB dengan Python?

Fungsi sederhana untuk mengonversi nilai RGB menjadi nama warna untuk berbagai kombinasi. .
RGB →(0. 255. 0), Kode Hex →#00FF00, Nama Warna →kapur
RGB →(178,34,34), Kode Hex →#B22222, Nama Warna → batu api

Apakah ada fungsi RGB di Python?

Numpy, Matplotlib, dan turtle adalah contoh library Python yang dapat digunakan untuk menghasilkan warna . Tiga rona utama sistem warna RGB adalah merah, hijau, dan biru. Nilainya berkisar dari 0 hingga 255. Ketiga warna ini dapat dikombinasikan untuk menghasilkan warna yang berbeda.

Bagaimana Anda menulis kode warna RGB?

Format nilai RGB dalam notasi fungsional adalah ' rgb(' diikuti dengan daftar tiga nilai numerik yang dipisahkan koma (tiga nilai bilangan bulat (0-255, 0 . '.

Bagaimana Anda mengkodekan warna dengan Python?

Warna python .
'b'- biru
'c' - cyan
'g' - hijau
'k' - hitam
'm' - ungu
'r' - merah
'w' - putih
'y' - kuning