Custom Markers for Matlab plot

后端 未结 1 734
面向向阳花
面向向阳花 2020-12-03 13:13

I have searched google and everyone says its not supported. I was wondering if there are any open community matlab functions which would be able to plot a user defined png a

相关标签:
1条回答
  • 2020-12-03 13:42

    imagesc can put the png on you plot. We can avail ourselves of this in the following way:

    Define user data:

    x = 1:10;
    y = 5*rand(size(x)) + 2.5;
    

    Load the marker image:

    marker = imread('icon.png');
    

    Define marker size and adjust the x and y data:

    markersize = [1,1]; %//The size of marker is expressed in axis units, NOT in pixels
    x_low = x - markersize(1)/2; %//Left edge of marker
    x_high = x + markersize(1)/2;%//Right edge of marker
    y_low = y - markersize(2)/2; %//Bottom edge of marker
    y_high = y + markersize(2)/2;%//Top edge of marker
    

    Then, we put our loaded image on the plot at the specified points

    for k = 1:length(x)
        imagesc([x_low(k) x_high(k)], [y_low(k) y_high(k)], marker)
        hold on
    end
    axis equal
    hold off
    

    At the end, you are likely to get the following:

    To achieve the desired appearance, you would need to play with the parameters for a while.

    Hope that helps

    0 讨论(0)
提交回复
热议问题