指定颜色

您所在的位置:网站首页 matplot中文手册 指定颜色

指定颜色

#指定颜色| 来源: 网络整理| 查看: 265

笔记

单击此处 下载完整的示例代码

指定颜色#

Matplotlib 识别以下格式来指定颜色。

格式

例子

闭区间 [0, 1] 中浮点值的 RGB 或 RGBA(红、绿、蓝、alpha)元组。

(0.1, 0.2, 0.5)

(0.1, 0.2, 0.5, 0.3)

不区分大小写的十六进制 RGB 或 RGBA 字符串。

'#0f0f0f'

'#0f0f0f80'

重复字符的不区分大小写的 RGB 或 RGBA 字符串等效十六进制简写。

'#abc'作为'#aabbcc'

'#fb1'作为'#ffbb11'

灰度值的闭区间中浮点值的字符串表示形式。[0, 1]

'0'像黑色

'1'像白色

'0.8'作为浅灰色

一些基本颜色的单字符速记符号。

笔记

绿色、青色、洋红色和黄色与 X11/CSS4 颜色不一致。选择它们的特殊色调是为了在典型背景下更好地看到彩色线条。

'b'蓝色

'g'作为绿色

'r'红色

'c'作为青色

'm'作为洋红色

'y'像黄色

'k'像黑色

'w'像白色

不区分大小写的 X11/CSS4 颜色名称,没有空格。

'aquamarine'

'mediumseagreen'

来自xkcd 颜色调查的不区分大小写的颜色名称, 带有'xkcd:' 前缀。

'xkcd:sky blue'

'xkcd:eggshell'

来自“T10”分类调色板的不区分大小写的 Tableau 颜色。

笔记

这是默认的颜色循环。

'tab:blue'

'tab:orange'

'tab:green'

'tab:red'

'tab:purple'

'tab:brown'

'tab:pink'

'tab:gray'

'tab:olive'

'tab:cyan'

“CN”颜色规范,'C' 在数字之前作为默认属性循环的索引。

笔记

Matplotlib 在绘制时索引颜色,如果循环不包含颜色,则默认为黑色。

'C0'

'C1'

rcParams["axes.prop_cycle"](默认:)cycler('color', ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf'])

也可以看看

以下链接提供了有关 Matplotlib 中颜色的更多信息。

颜色演示示例

matplotlib.colorsAPI

命名颜色列表示例

“红色”、“绿色”和“蓝色”是这些颜色的强度。结合起来,它们代表色彩空间。

Matplotlib 根据zorder参数绘制 Artists。如果没有指定值,Matplotlib 默认按照 Artists 添加到 Axes 的顺序。

艺术家的 alpha 控制不透明度。它指示新艺术家的 RGB 颜色如何与轴上已有的 RGB 颜色相结合。

两位艺术家结合了 alpha 合成。Matplotlib 使用下面的公式来计算混合新艺术家的结果。

RGB_{new} = RGB_{below} * (1 - \alpha) + RGB_{artist} * \alpha

Alpha 为 1 表示新艺术家完全覆盖了以前的颜色。顶部颜色的 Alpha 为 0 不可见;但是,它有助于将中间值混合为所有先前艺术家的累积结果。下表包含示例。

阿尔法值

视觉的

0.3

1

笔记

在 Matplotlib 中重新排序艺术家不是可交换的。

“CN”颜色选择#

Matplotlib 在绘制 Artists 时将“CN”颜色转换为 RGBA。使用 循环仪设置样式部分包含有关控制颜色和样式属性的其他信息。

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

第一种颜色'C0'是标题。每个绘图使用每种样式的第二种和第三种颜色rcParams["axes.prop_cycle"](默认值:)。它们分别是和。cycler('color', ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf'])'C1''C2'

X11/CSS4 和 xkcd 颜色的比较#

xkcd 颜色来自网络漫画 xkcd 进行的用户调查。

148 个 X11/CSS4 颜色名称中的 95 个也出现在 xkcd 颜色调查中。几乎所有这些都映射到 X11/CSS4 和 xkcd 调色板中的不同颜色值。只有“黑色”、“白色”和“青色”是相同的。

例如,'blue'映射到'#0000FF'而'xkcd:blue'映射到 '#0343DF'。由于这些名称冲突,所有 xkcd 颜色都有 'xkcd:'前缀。

下图显示了名称冲突。颜色值一致的颜色名称以粗体显示。

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

脚本总运行时间:(0分1.413秒)

Download Python source code: colors.py

Download Jupyter notebook: colors.ipynb

由 Sphinx-Gallery 生成的画廊



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3