Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自定义颜色的Matlab绘图_Matlab - Fatal编程技术网

自定义颜色的Matlab绘图

自定义颜色的Matlab绘图,matlab,Matlab,有人知道除了预设的颜色(即b、g、r、c、m、y、k)之外,还有什么命令或方法可以使用不同的颜色进行打印吗?我更喜欢使用我自己的定制颜色,而不是这些 干杯 颜色顺序:RGB值的m×3矩阵 用于多行打印的颜色。定义打印使用的颜色 和plot3用于为绘制的每条线着色。如果您没有指定 带有plot和plot3的线颜色,这些函数在 ColorOrder属性以获取绘制的每条线的颜色。到 获取当前颜色顺序(可能在启动期间设置),获取 属性值: get(gca,'ColorOrder')注意,如果axes N

有人知道除了预设的颜色(即b、g、r、c、m、y、k)之外,还有什么命令或方法可以使用不同的颜色进行打印吗?我更喜欢使用我自己的定制颜色,而不是这些

干杯

颜色顺序:RGB值的m×3矩阵

用于多行打印的颜色。定义打印使用的颜色 和plot3用于为绘制的每条线着色。如果您没有指定 带有plot和plot3的线颜色,这些函数在 ColorOrder属性以获取绘制的每条线的颜色。到 获取当前颜色顺序(可能在启动期间设置),获取 属性值:

get(gca,'ColorOrder')注意,如果axes NextPlot属性为 替换(默认),高级功能,如绘图重置 确定要使用的颜色之前的ColorOrder属性。如果你愿意 MATLAB使用不同于默认值的颜色顺序,设置 下一批儿童。您还可以指定自己的默认值 颜色顺序

总之,这意味着您需要以下命令:

figure();
axis();
set(gca, 'colororder', <color matrix>, 'nextplot', 'replacechildren');
plot(x,y);
figure();
轴();
设置(gca、“颜色顺序”、“下一批”、“替换子项”);
图(x,y);

Color
属性与
ColorSpec
三元组一起使用:

plot(x, y, 'Color', [0.5, 1.0, 0.0], 'LineStyle', '--')

此处的向量包含介于
0.0
1.0
之间的RGB值。和文档条目中有更多关于这方面的信息。

我也有同样的问题,因为MATLAB提供的预设颜色集有限。因此,我在我的网站上创建了这个页面,您可以从大量非标准颜色中进行选择,颜色代码直接粘贴到您的剪贴板上:


谢谢你!在哪里可以查找颜色映射,以确定代码中输入的0-1之间的数字?我搜索了Lineseries、ColorSpec和Colormap,但看不到我想要的。通常从像素贴图中选择颜色的方式是以多于1的形式。@kit:如果您有一个颜色贴图(例如,
hot
),IIRC您应该使用
cmap=colormap('hot')从颜色贴图中获得颜色
k
;cmap(k,:)
。如果你的颜色值在0到255之间,只要除以255就可以得到正确的范围。我明白你设置颜色顺序的意思了。我尝试了以下命令。图形集(gca,'colororder',[1,0.5,0.753],'nextplot','replacechildren');plot(x,y)figure plot(x,z)我不知道为什么第二个图形的默认颜色会再次出现,似乎我没有正确使用nextplot和replacechildren调用
set
之前是否使用
axis()创建和轴对象?是的,我现在正在添加,但仍然会获得第二个图形的默认颜色。这是我的代码:figure();轴();集合(gca,'colororder',[1,0.5,0.753],'nextplot','replacechildren');绘图(x,y)图绘图(x,z)轴()的作用是什么?为什么我们需要()?顺便说一下,我在这里粘贴matlab代码时弄得一团糟。在粘贴代码并像您一样放入灰色框之前,我可以知道需要添加什么命令吗?我是这种论坛的新用户。谢谢您需要调用
axis
以便存在一个axis对象,您可以在该对象上调用
set
。您不需要“()”,因为它在matlab中是隐含的。要使其用于第二个绘图,必须再次调用
axis
set
。要将代码格式化为代码,请将其括在反引号(`)中。似乎使用此
集(0,'DefaultAxeColorder',[1,0.5,0.753;0.5,0.5,1;1,1,0.753])
可以在每次打印前不使用
set
命令在以下打印中永久设置颜色。