How to draw a graph of an image with frequency in y axis and pixel value in x axis in matlab?
    4 views (last 30 days)
  
       Show older comments
    
How to draw a graph of an image with frequency in y axis and pixel value in x axis in matlab?
3 Comments
Accepted Answer
  Image Analyst
      
      
 on 26 Jul 2015
        % Extract the individual red, green, and blue color channels.
redChannel = secret(:, :, 1);
greenChannel = secret(:, :, 2);
blueChannel = secret(:, :, 3);
[pixelCountsR, grayLevelsR] = imhist(redChannel);
[pixelCountsG, grayLevelsG] = imhist(greenChannel);
[pixelCountsB, grayLevelsB] = imhist(blueChannel);
plot(grayLevelsR, pixelCountsR, 'r-', 'LineWidth', 2);
hold on;
plot(grayLevelsG, pixelCountsG, 'r-', 'LineWidth', 2);
plot(grayLevelsB, pixelCountsB, 'r-', 'LineWidth', 2);
grid on;
fontSize = 20;
ylabel('Frequency', 'FontSize', fontSize);
xlabel('Pixel Value', 'FontSize', fontSize);
Then just do the same for share. Then you can use text() and annotation() to add text labels and arrows wherever you want them. Or you can use legend().
3 Comments
  Image Analyst
      
      
 on 21 Aug 2015
				Anushka:
Try this:
x = 0:255;
y = 0.0018 * rand(1, length(x));
plot(x, y, 'b-');
ax = gca;
ax.XTick = 0:50:250;
yTicks = 0:.0002:.0018;
ax.YTick = yTicks;
for k = 1 : length(yTicks)
  YTickLabels{k} = sprintf('%.4f', yTicks(k));
end
ax.YTickLabels = YTickLabels;
More Answers (1)
See Also
Categories
				Find more on Axis Labels in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



