title: MATLAB - How to plot x,y on an image and save?
body: <h3>File datafile.txt</h3>
  <pre><code>code  x     y
  23    22.1  33.11
  23    110   22
  23    11    200 
  24    111   321
  24    222   111
  24    10    22.1
  10    88.3  99.3
  10    110   32
  10    121   143
  10    190   200
  </code></pre>
  <p>In the above file, the first column represents the image code which is displayed on the screen, and the x and y columns represent the point where people look on the image. There were three different images displayed to the user. The problem with the code below is that I don't know how to save the image with the plotted x-y on with the same name of file as it opened.</p>
  <pre><code>fid = fopen(datafile.txt);
  A = textscan(fid,'%f%f%f'); %Read data from the file
  code = A{1};
  xfix = A{2};
  yfix = A{3};
  
  for k=1:length(code)
      imagefile=code(k)        
      I = imread([num2str(imagefile) '.jpg']);    %# Load a sample image
      imshow(I);                                  %# Display it
      [r,c,d] = size(I)                           %# Get the image size
      set(gca,'Units','normalized','Position',[0 0 1 1]);  %# Modify axes size
      set(gcf,'Units','pixels','Position',[200 200 c r]);  %# Modify figure size
      hold on;
      x = xfix2(k);
      y = yfix2(k);
      plot(x,y,'+ b');
      f = getframe(gcf);              %# Capture the current window
      imwrite(f.cdata,([num2str(imagefile) '.jpg']));  %# Save the frame data
      hold off
  end
  </code></pre>
  <p><img src="https://i.stack.imgur.com/EyKOO.jpg" alt="Enter image description here" /></p>
  <p>However, I have a little problem. The &quot;cross plots&quot; which I overlay on the image, were surrounded by gray shadow (like when we photocopy a paper, they will be a gray color on it). How did this happen?</p>