How to plot high resolution?
12 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I would like to plot a histogram with 2048 bins. Is it possible plot and save it? pdf? retina display
3 Kommentare
Jan
am 14 Feb. 2018
@Mr. M: Please insert this important information on top of your question: You are using a Mac with Retina display.
Antworten (2)
Akira Agata
am 23 Okt. 2017
How about adjusting a resolution by setting 'Position' property of figure. Here is an example.
% Sample data
mu = 0.0;
sigma = 1.0;
x = normrnd(mu,sigma,100000,1);
% Plot histogram with 2048 bins in full HD (1920x1080) resolution
figure('Position',[0 0 1920 1080])
histogram(x,'NumBins',2048)
2 Kommentare
Akira Agata
am 22 Feb. 2018
OK. Then, how about saving your histogram as a high-resolution image?
mu = 0.0;
sigma = 1.0;
x = normrnd(mu,sigma,100000,1);
dpi = 150; % Resolution
sz = [0 0 2880 1800]; % Image size in pixels
% Plot histogram with 2048 bins
% and save as an .tiff image file
% with 2880x1800 pixel and 150 dpi
figure(...
'PaperUnits','inches',...
'PaperPosition', sz/dpi,...
'PaperPositionMode','manual',...
'Visible', 'off')
histogram(x,'NumBins',2048)
print('-r150','-dtiff','histogram.tiff');
Mr M.
am 14 Feb. 2018
5 Kommentare
Walter Roberson
am 21 Feb. 2018
The reason that set(gcf,'unit','pixel','position',[0 0 1600 1200]) fills the screen is that for Retina displays, MATLAB arbitrarily declares that a "pixel" is to be 1/72 of an inch (which just happens to be the same as a "point") -- as described at https://www.mathworks.com/help/matlab/creating_guis/dpi-aware-behavior-in-matlab.html#buyrn8d
"Units Property
When you set the Units property of a graphics or UI object to 'pixels', the size of each pixel is now device-independent on Windows and Macintosh systems:
- On Windows systems, 1 pixel = 1/96 inch.
- On Macintosh systems, 1 pixel = 1/72 inch."
The full hardware resolution is still there and you can still put up images at the full hardware resolution: you just have to be careful about specifying sizes in units of Pixel. For example, you could:
set(gcf,'unit','norm','position',[0 0 1 1])
Siehe auch
Kategorien
Mehr zu Histograms finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!