matplotlib手动调用默认配色

本文介绍了Matplotlib库中的默认颜色配置,特别是defaultlinecolorcycle,展示了如何在不同图表中保持一致性。并通过示例展示了如何获取和使用这10种颜色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

matplotlib 画图有个默认配色方案,在画不同图时会保持一致。如:

import numpy as np
import matplotlib.pyplot as plt

# 图 1 数据
x = np.arange(12).astype(np.float32) + 1
y1 = np.log(x)
y2 = 1 / x
y3 = np.sin(x)
# 图 2 数据
a = np.random.randn(200)
b = np.random.randn(200)

fig, ax = plt.subplots(1, 2)
# 图 1
ax[0].plot(x, y1, label='y1')
ax[0].plot(x, y2, label='y2')
ax[0].plot(x, y3, label='y3')
# 图 2
ax[1].hist([a, b], label=['a', 'b'])

for _ax in ax:
    _ax.legend(fancybox=True, framealpha=0)
plt.tight_layout()
fig.savefig("test.png", bbox_inches='tight')
plt.close(fig)

效果:
test.png
可见两幅图中头两种颜色(蓝、橙)是一样的。参考 [1],这种默认配色叫 default line color cycle。调用简例:

import matplotlib.pyplot as plt

cycle = plt.rcParams['axes.prop_cycle'].by_key()['color']
print(len(cycle), cycle)
fig = plt.figure()
for i, c in enumerate(cycle):
    plt.plot([0, 2], [i, i], c=c)
plt.tight_layout()
fig.savefig("test2.png", bbox_inches='tight')
plt.close(fig)

输出:

10 ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf']

只有 10 种颜色。效果:
test2.png

References

  1. Get default line color cycle
<think>好的,我现在需要帮助用户解决关于论文中散点图配色设计建议或工具的推荐问题。首先,我需要整理用户提供的引用内容,看看其中是否有相关的信息。 根据引用[1],里面提到了散点图的配色建议,比如点的个数较多时用空心圆点,深色点并提高透明度,用点的大小表示第三维度数据,不同类别用不同大小的点。这部分信息应该直接回答用户的问题。 然后引用[3]和[4]提到科研论文配图的类型,包括线性图中的散点图,以及常用工具如Python、R、MATLAB、Excel、Origin等。这些工具可能自带配色方案,可以推荐给用户。 接下来需要结合这些引用内容,整理出设计建议和工具推荐。设计建议方面,可以分点列出颜色选择、透明度调整、多维度数据展示、类别区分等。工具方面需要区分编程工具和图形软件,并提到内置配色方案或插件,如ColorBrewer、Viridis等。 还要注意用户可能需要的工具是否免费或易用,比如在线工具Coolors或Adobe Color,以及数据可视化库如Seaborn或ggplot2的默认配色。 最后,确保回答结构清晰,符合用户要求的中文回答,引用标识正确,并生成相关问题。需要检查是否有遗漏的引用内容,比如引用[2]和[4]是否有其他相关信息,但似乎主要相关的是引用[1]、[3]、[4]中的工具部分。</think>### 论文散点图配色设计建议与工具推荐 #### 一、配色设计建议 1. **基础配色原则** - **点数量较多时**:建议使用空心圆点,或采用深色系(如深蓝、深红)并提高颜色透明度,以避免重叠区域视觉混乱[^1]。 - **多维度数据展示**:可通过点的大小表示第三维度数据值的大小(例如大点表示高值,小点表示低值)。 - **类别区分**:若散点图包含多类别数据,建议为不同类别选择对比度适中的颜色(如天空蓝/印度红),避免使用过于相近的色系[^1][^4]。 2. **透明度与层次优化** - 对密集分布的点,可通过降低颜色透明度(例如设置 Alpha 值为 0.3–0.5)增强重叠区域的辨识度[^1]。 - 类别数量多的散点图,可为少数类别使用大点、多数类别使用小点,以平衡视觉效果。 3. **黑白或灰度场景** - 若需黑白印刷,可结合点形状(圆形、方形、三角形)和灰度渐变区分数据类别[^3]。 #### 二、工具推荐 1. **编程工具** - **PythonMatplotlib/Seaborn)**:提供内置配色方案(如 `viridis`、`tab10`),支持自定义透明度与点大小映射[^3]。 - **R(ggplot2)**:内置 `Scale_color_brewer()` 可直接调用 ColorBrewer 科学配色方案。 - **MATLAB**:支持通过 `scatter` 函数设置颜色映射(如 `parula`、`jet`)和点属性。 2. **图形软件** - **OriginLab**:提供预设科研配色模板,支持多维度数据映射(颜色、大小、形状)。 - **Excel**:可通过“颜色饱和度”功能调整透明度,但需手动优化对比度。 3. **配色辅助工具** - **ColorBrewer 2.0**:专为地图和图表设计的在线配色工具,支持离散型与连续型色板生成。 - **Adobe Color**:可创建自定义配色方案并导出 HEX/RGB 值,适合复杂需求。 - **Coolors.co**:提供快速配色方案生成与对比度检测功能。 #### 三、注意事项 - 避免滥用高对比度颜色,优先选择学术期刊推荐的色系(如 Nature、Science 的默认配色)[^2]。 - 使用工具内置配色时,需检查色盲友好性(推荐使用 Viridis 或 Cividis 色系)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值