Matplotlib memiliki dukungan untuk memvisualisasikan informasi dengan beragam warna dan peta warna. Tutorial ini mencakup dasar-dasar bagaimana peta warna ini terlihat, bagaimana kita dapat membuatnya sendiri, dan bagaimana kita dapat menyesuaikan peta warna.
"CN" pemilihan warna
Matplotlib mengonversi warna "CN" ke RGBA saat menggambar.
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') |
Warna pertama 'C0'adalah judul. Setiap plot menggunakan warna kedua dan ketiga dari setiap gaya rcParams["axes.prop_cycle"](default: ). Mereka adalah dan , masing-masing.cycler('color', ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf'])'C1''C2'
Perbandingan antara X11 / CSS4 dan warna xkcd
Warna xkcd berasal dari survei pengguna yang dilakukan oleh webcomic xkcd .
95 dari 148 nama warna X11/CSS4 juga muncul dalam survei warna xkcd. Hampir semuanya memetakan ke nilai warna yang berbeda di X11/CSS4 dan di palet xkcd. Hanya 'hitam', 'putih' dan 'sian' yang identik.
Misalnya, 'blue'memetakan ke '#0000FF'sedangkan 'xkcd:blue'memetakan ke '#0343DF'. Karena tabrakan nama ini, semua warna xkcd memiliki 'xkcd:'awalan.
Visual di bawah ini menunjukkan tabrakan nama. Nama warna dengan nilai warna yang sesuai dicetak tebal.
import
matplotlib._color_data as mcd import matplotlib.patches as
mpatch import matplotlib.pyplot as plt overlap = {name for name in
mcd.CSS4_COLORS if "xkcd:" + name in
mcd.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 = mcd.CSS4_COLORS[color_name] xkcd = mcd.XKCD_COLORS["xkcd:"
+ color_name].upper() col_shift = (j // n_rows) * 3 y_pos = j % n_rows text_args = dict(va='center',
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 + col_shift, y_pos + .5, ' ' + css4, alpha=0.5, **text_args) ax.text(1 + col_shift, y_pos + .5, ' ' + xkcd, alpha=0.5, **text_args) ax.text(2 + col_shift, y_pos + .5, ' ' + 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.5, 'X11',
ha='center', va='center') ax.text(1.5 + 3*g, -0.5, 'xkcd',
ha='center', va='center') ax.set_xlim(0, 3 * n_groups) ax.set_ylim(n_rows, -1) ax.axis('off') plt.show() |
0 Response to "Pemilihan Warna"
Posting Komentar