如何使用colorio绘制sRGB色域切片及不同色彩空间的Mac Adam椭圆
解决方法
- sRGB切片无法叠加问题:
colorio.plot_rgb_slice提供kind='2d'配置项,显式指定后会返回matplotlib轴对象,无需调用pyvista做3D渲染,可直接叠加到现有matplotlib画布上,调用时传入已有的轴对象参数ax即可完成图层合并。 - 切片轴向错误问题:可通过
slice_axis参数指定切割轴向,需要沿Y轴切割时传入slice_axis='y'即可,固定Y=1的sRGB切片可以和你已有的可见色域切片完全匹配,不需要再设置0.2的偏移值。
修改后可直接运行的代码如下:
#!/usr/bin/env python3 import colorio # 定义色彩空间 cs = colorio.cs.XYY1() # 绘制缩放10倍的Mac Adam椭圆,获取当前绘图轴 ax = colorio.data.MacAdam1942(1).plot(lambda: cs, ellipse_scaling=10) # 绘制Y=1位置的可见色域切片,传入现有轴叠加 ax = colorio.plot_visible_slice(cs, slice_at=1, ax=ax) # 绘制Y=1位置的sRGB色域切片,指定2D渲染、沿Y轴切割,叠加到现有轴 ax = colorio.plot_rgb_slice( cs, slice_at=1, slice_axis='y', kind='2d', ax=ax, # 可自定义sRGB色域边界的颜色和透明度避免遮挡椭圆 color="#ff2222", alpha=0.3 ) # 显示最终绘图 ax.get_figure().show()
内容的提问来源于stack exchange,提问作者Meredith
相关产品推荐
相关产品推荐

