Bagaimana Anda mewarnai angka dengan python?

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.

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 (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 mewarnai angka 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 mewarnai angka dengan python?
  • Bagaimana Anda mewarnai angka 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 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.