1. 前言
在数据可视化的世界里,色彩不仅仅是视觉的盛宴,更是信息的传递者。NCL(The NCAR Command Language)色标,作为气象和环境科学领域的瑰宝,以其丰富的色彩组合和科学的编排,成为了数据表达的重要工具。然而,要将这些精美的色标应用于更广泛的场景,如商业报告、学术论文或个人项目,我们需要一种便捷的方式来管理和使用它们。本文将详细介绍如何获取NCL色标,并将其保存为Excel文件的步骤。
2. 代码
def save_colormap_to_excel(cmap_name, excel_filepath=None):
"""
根据给定的NCL颜色映射表名称,将颜色值保存为 Excel 文件。
参数:
cmap_name (str): 颜色映射表的名称(例如 'BlAqGrYeOrRe')。
excel_filepath (str, optional): 保存 Excel 文件的路径。如果未提供,则使用默认路径 "../colorbar/{cmap_name}.xlsx"。
示例:
save_colormap_to_excel('BlAqGrYeOrRe')
save_colormap_to_excel('BlAqGrYeOrRe', '/path/to/custom_filename.xlsx')
"""
# 获取颜色映射表对象
cmap = getattr(cmaps, cmap_name)
# 获取颜色映射表的颜色值
colors = cmap.colors
# 检查颜色值是否在0-255范围内,如果是,则将其转换为0-1范围
if max(colors[0]) > 1:
colors = [[c / 255 for c in row] for row in colors]
# 将颜色值转换为 DataFrame
df = pd.DataFrame(colors)
# 生成默认的 Excel 文件路径(如果未提供)
if excel_filepath is None:
excel_filepath = f"../colorbar/popular/{cmap_name}.xlsx"
# 保存 DataFrame 为 Excel 文件
df.to_excel(excel_filepath, index=False, header=False)
print(f"Colormap '{cmap_name}' saved to '{excel_filepath}'")
```