matlab怎么指定绘图颜色? matlab自定义绘图颜色的技巧

Written by

in

文章目录
  • 创建随机数散点图。将标记大小指定为75磅,并使用名称-值参量指定标记轮廓和填充颜色。MarkerEdgeColor属性控制轮廓颜色,而MarkerFaceColor属性控制填充颜色。 x = rand(1,100); y = rand(1,100); scatter(x,y,75,”MarkerEdgeColor”,”b”, … “MarkerFaceColor”,[0 0.7 0.7])
  • 创建一系列绘图有两种方式: 多次调用一个绘图函数,并使用hold函数来保留坐标区的内容。 将一个包含多个数据序列的矩阵传递给绘图函数。plot函数始终接受矩阵输入,许多其他绘图函数也支持矩阵输入。 要为上述方法中的任一方法指定颜色,请使用一个输出参量调用所需的绘图函数,以便可以访问各个绘图对象。然后在要更改的绘图对象上设置属性。 例如,创建一个包含 100 磅的填充标记的散点图。使用输出参量s1调用scatter函数。调用hold函数以保留坐标区的内容,然后使用输出参量s2和s3再调用两次scatter函数。变量s1、s2和s3是Scatter对象。 figure x = 1:5; s1 = scatter(x,[6 3 9 10 7],100,”filled”); hold on s2 = scatter(x,[16 13 19 20 17],100,”filled”); s3 = scatter(x,[26 23 29 33 27],100,”filled”); hold off 将第二个Scatter对象的颜色更改为紫色。 s2.MarkerFaceColor = [0.7 0 1]; scatter函数还支持矩阵输入(从 R2021a 开始提供),因此您可以通过传递矩阵并返回对象向量来创建相同的绘图。 figure x = 1:5; y = [6 3 9 10 7; 16 13 19 20 17; 26 23 29 33 27]; s = scatter(x,y,100,”filled”); 在这种情况下,要更改第二个数据序列的颜色,请通过对s进行索引来访问第二个Scatter对象。 s(2).MarkerFaceColor = [0.7 0 1]; 推荐阅读:Matlab常用绘图颜色搭配有哪些
  • MATLAB使用一组默认颜色创建绘图。使用默认颜色创建的不同绘图将呈现清晰一致的外观。您也可以按需求自定义颜色。许多绘图函数都有用于自定义颜色的输入参量,如ccolorspec。这些函数返回的对象通常具有控制颜色属性。参量和属性的名称可以不同,但它们接受的值通常遵循一种通用模式。一旦熟悉了该模式,您就可以使用它来修改各种绘图。

    MathWorks MATLAB R2024b MacOS Apple Silicon/Inter 中文正式免费版

    • 类型:商业效率
    • 大小:18.0GB
    • 语言:简体中文
    • 时间:2024-09-13

    查看详情

    以下示例使用barscatter函数来演示自定义颜色整体方法。有关特定绘图函数的有效颜色值的完整列表,请参考该函数的文档。

    有以下几种颜色值:

    • 颜色名称或短名称– 指定颜色名称,例如"red""green"。短名称从颜色名称中指定字母,例如"r""g"
    • RGB 三元组– 通过指定一个三元素行向量来创建自定义颜色,该向量的元素是颜色中红、绿、蓝分量的强度。强度必须处于范围[0,1]中。例如,您可以用[1 0.5 0.8]来指定粉红色。
    • 控制颜色的某些函数参量并不接受 RGB 三元组,但控制颜色对象属性通常接受。
    • 十六进制颜色代码– 通过以下方式创建一个自定义颜色:指定一个字符串或字符向量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是0F。这些值不区分大小写。因此,颜色代码"#FF8800""#ff8800""#F80""#f80"都指定相同的橙色色调。
    • 某些控制颜色的函数参量不接受十六进制颜色代码,但您可以使用与对象属性对应的名称-值参量来指定十六进制颜色代码。例如,scatter(x,y,sz,"MarkerFaceColor","#FF8800")将散点图中的标记颜色设置为橙色。

    下表列出了所有有效的颜色名称和短名称,以及对应的 RGB 三元组和十六进制颜色代码。

    颜色名称 短名称 RGB 三元组 十六进制颜色代码 外观
    "red" "r" [1 0 0] "#FF0000"

    "green" "g" [0 1 0] "#00FF00"

    "blue" "b" [0 0 1] "#0000FF"

    "cyan" "c" [0 1 1] "#00FFFF"

    "magenta" "m" [1 0 1] "#FF00FF"

    "yellow" "y" [1 1 0] "#FFFF00"

    "black" "k" [0 0 0] "#000000"

    "white" "w" [1 1 1] "#FFFFFF"

    以下是 MATLAB 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。这些颜色没有与之相关联名称。

    RGB 三元组 十六进制颜色代码 外观
    [0 0.4470 0.7410] "#0072BD"

    [0.8500 0.3250 0.0980] "#D95319"

    [0.9290 0.6940 0.1250] "#EDB120"

    [0.4940 0.1840 0.5560] "#7E2F8E"

    [0.4660 0.6740 0.1880] "#77AC30"

    [0.3010 0.7450 0.9330] "#4DBEEE"

    [0.6350 0.0780 0.1840] "#A2142F"

    通过调用bar函数并将可选的color参量指定为 "red",创建一个红色条形图。以b形式返回条形对象,以便以后可以自定义图的其他方面。

    b = bar(1:10,"red");

    现在,通过将FaceColorEdgeColor属性设置为十六进制颜色代码 "#80B3FF",将条形图填充颜色和轮廓颜色更改为浅蓝色。

    在 R2019a 之前,指定 RGB 三元组,而不是十六进制颜色代码。例如,b.FaceColor=[0.5 0.7 1]

    b.FaceColor = "#80B3FF";
    b.EdgeColor = "#80B3FF";

    创建随机数散点图。将标记大小指定为75磅,并使用名称-值参量指定标记轮廓和填充颜色。MarkerEdgeColor属性控制轮廓颜色,而MarkerFaceColor属性控制填充颜色。

    x = rand(1,100);
    y = rand(1,100);
    scatter(x,y,75,"MarkerEdgeColor","b", ...
        "MarkerFaceColor",[0 0.7 0.7])

    创建一系列绘图有两种方式:

    • 多次调用一个绘图函数,并使用hold函数来保留坐标区的内容。

    • 将一个包含多个数据序列的矩阵传递给绘图函数。plot函数始终接受矩阵输入,许多其他绘图函数也支持矩阵输入。

    要为上述方法中的任一方法指定颜色,请使用一个输出参量调用所需的绘图函数,以便可以访问各个绘图对象。然后在要更改的绘图对象上设置属性。

    例如,创建一个包含 100 磅的填充标记的散点图。使用输出参量s1调用scatter函数。调用hold函数以保留坐标区的内容,然后使用输出参量s2s3再调用两次scatter函数。变量s1s2s3Scatter对象。

    figure
    x = 1:5;
    s1 = scatter(x,[6 3 9 10 7],100,"filled");
    hold on
    s2 = scatter(x,[16 13 19 20 17],100,"filled");
    s3 = scatter(x,[26 23 29 33 27],100,"filled");
    hold off

    将第二个Scatter对象的颜色更改为紫色。

    s2.MarkerFaceColor = [0.7 0 1];

    scatter函数还支持矩阵输入(从 R2021a 开始提供),因此您可以通过传递矩阵并返回对象向量来创建相同的绘图。

    figure
    x = 1:5;
    y = [6 3 9 10 7; 16 13 19 20 17; 26 23 29 33 27];
    s = scatter(x,y,100,"filled");

    在这种情况下,要更改第二个数据序列的颜色,请通过对s进行索引来访问第二个Scatter对象。

    s(2).MarkerFaceColor = [0.7 0 1];

    推荐阅读:Matlab常用绘图颜色搭配有哪些

    站内搜索