基于PPT构建用于Origin作图的色表
- 2026-11-01 05:25:20
基于PPT构建用于Origin作图的色表我们写论文,有时候总找不到合适的插图颜色。虽然Origin内置了很多色表,但是总感觉过于普通。这里介绍一个用ppt中渐变填充方法构建色表的方法。 首先,我们在ppt中画一个长条的形状,将边缘颜色设置为无,填充颜色选择渐变,方向和角度如下图所示: 
然后在渐变光圈里面,左端和右端分别设置为所需要的颜色,这样一个全新色条就构建完成。 接下来,我们需要选中该形状,右键将其另存为图片,格式任意,这里我们选择了*.png。 由于Origin无法直接将图片导入为色表,我们需要将这个图片转换为Origin可以读取的文件,如*.xml、*.act等色表文件,这里以Adobe颜色表文件格式为例,通过如下Matlab代码(基于豆包)便可以完成*.png到*.act文件转换: 这样,就会在*.png文件的目录下生成一个*.act文件,然后我们就可以通过在Origin的颜色管理器导入该文件,效果如图所示: 
接下来,我们再用该色表绘制一个图看看效果: 
似乎效果不错! 这个方法有优势在于可以解锁PPT或者WPS中丰富的色表,用于科学绘图,下图给出了几个本人觉得不错的wps内置渐变色,以及生成的色表效果。 

% ==============================================% PNG 色标图 转 Origin 可导入 色板文件% 输入:水平/垂直渐变色条 PNG格式% 输出:可直接导入 Origin Color Manager的act格式% ==============================================clear; clc; close all;%% 1. 设置参数(你只需要改这里)pngPath = 'C:\xxx\pic1.png'; % 你的 PNG 色标文件名/路径isVertical = false; % 水平=false 垂直=truesampleNum = 256; % 颜色数量%% ====================================% 读取图片img = imread(pngPath);img = im2double(img);[h, w, ~] = size(img);% 提取中线颜色if isVerticalcolors = squeeze(img(:, round(w/2), :));elsecolors = squeeze(img(round(h/2), :, :));end% 平滑插值colors = interp1(linspace(0,1,size(colors,1)), colors, linspace(0,1,sampleNum));colors = uint8(colors * 255);% ==========================% 生成 ACT (Photoshop 色表)% ==========================fid = fopen('colorbar.act', 'w');for i = 1:sampleNumfwrite(fid, colors(i,1), 'uint8');fwrite(fid, colors(i,2), 'uint8');fwrite(fid, colors(i,3), 'uint8');endfclose(fid);% 预览disp('生成成功!');figure;colormap(im2double(colors));colorbar;title('MATLAB 提取的正确颜色');



本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:wyl860211@qq.com 。