matplotlib 使用你自己想要的color map

本文介绍如何在Matplotlib中创建自定义的红-绿-蓝渐变颜色映射,通过LinearSegmentedColormap从List方法实现,并注册到Matplotlib中供绘图使用。

最近使用matplotlib画图,想要使用一个三段的红-绿-蓝映射,并且带有一定梯度,就像这样:


不过,发现matplotlib中虽然带有很多映射方式,但是只有brg方式,没有rgb方式再见

就像这样:


nx.draw_networkx(G,pos, edge_color = edge_length, edge_cmap = plt.get_cmap('brg'))

那么怎么办呢?如果直接将[0,1]等分三段,分别是纯红、纯绿、纯蓝,是非常难看的。

于是将官网例子http://scipy.github.io/old-wiki/pages/Cookbook/Matplotlib/Show_colormaps

(这是非常好的例子,各种color map 方式都有)

修改了一下:

import matplotlib
import matplotlib.colors as col
import matplotlib.cm as cm
import matplotlib.pyplot as plt
import numpy as np
# example 2: use the "fromList() method
startcolor = '#ff0000'   #红色,读者可以自行修改
midcolor = '#00ff00'     #绿色,读者可以自行修改
endcolor = '#0000ff'          #蓝色,读者可以自行修改
cmap2 = col.LinearSegmentedColormap.from_list('own2',[startcolor,midcolor,endcolor])
# extra arguments are N=256, gamma=1.0
cm.register_cmap(cmap=cmap2)
# we can skip name here as it was already defined 

当register_cmap执行完毕后,调用该color map 的名称 'own2',即可。

cm.get_cmap('own2')

就获得了文章开头的红-绿-蓝有过渡的颜色映射。函数自动使用插值计算0-1之间的颜色。




### 关于ANSYS软件中颜色映射的设置方法 在ANSYS软件中,颜色映射(Color Map)的设置和自定义是通过其图形用户界面(GUI)或脚本编程实现的。以下详细介绍了如何在ANSYS中设置或自定义颜色映射。 #### 1. 使用ANSYS GUI设置颜色映射 在ANSYS Workbench或ANSYS Mechanical的后处理阶段,可以通过以下方式调整颜色映射: - 在结果窗口中选择需要显示的结果类型(例如应力、应变、温度等)。 - 打开“Solution”选项卡下的“Result Controls”,找到“Appearance”部分。 - 点击“Color Map”按钮,进入颜色映射设置窗口[^2]。 - 在颜色映射设置窗口中,可以选择预定义的颜色方案,或者通过手动编辑创建自定义颜色映射。 - 自定义颜色映射时,可以调整颜色渐变、数据范围以及离散级别。 #### 2. 使用APDL脚本自定义颜色映射 对于高级用户,可以通过ANSYS参数化设计语言(APDL)脚本实现更灵活的颜色映射控制。以下是一个示例代码,展示如何通过APDL命令设置颜色映射: ```apdl /COL,CONTOUR,RAINBOW ! 设置颜色映射为彩虹模式 /COL,CONTOUR,CUSTOM ! 设置自定义颜色映射 /COL,LEVELS,20 ! 设置颜色映射的离散级别为20 ``` 上述代码中,`/COL`命令用于控制颜色映射的样式和级别。具体命令参数可根据需求进行调整[^3]。 #### 3. 结合Python扩展功能 如果使用ANSYS与Python集成开发环境(如PyANSYS),可以通过Python脚本进一步定制颜色映射。以下是一个简单的Python示例,展示如何结合Matplotlib库生成自定义颜色映射,并将其应用于ANSYS结果: ```python import matplotlib.pyplot as plt import numpy as np # 定义自定义颜色映射 cmap = plt.cm.get_cmap('viridis', 256) # 将颜色映射导出为ANSYS兼容格式 colors = (cmap(np.linspace(0, 1, 256)) * 255).astype(int) with open('custom_color_map.txt', 'w') as f: for color in colors: f.write(f"{color[0]} {color[1]} {color[2]}\n") # 在ANSYS中加载自定义颜色映射文件 # 使用命令:/INPUT,custom_color_map.txt ``` 此代码生成了一个基于Matplotlib的自定义颜色映射文件,并可导入到ANSYS中以替换默认的颜色映射[^4]。 ### 注意事项 - 颜色映射的设置可能因ANSYS版本不同而略有差异,请参考具体版本的用户手册。 - 自定义颜色映射时,建议先备份默认设置,以便在需要时恢复原始配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值