Is it possible to use tiledlayout to create a figure with plots and... (2024)

25 views (last 30 days)

Show older comments

AP on 21 May 2024 at 11:47

  • Link

    Direct link to this question

    https://jmaab.mathworks.com/matlabcentral/answers/2121016-is-it-possible-to-use-tiledlayout-to-create-a-figure-with-plots-and-a-pdf-image-per-attachment

  • Link

    Direct link to this question

    https://jmaab.mathworks.com/matlabcentral/answers/2121016-is-it-possible-to-use-tiledlayout-to-create-a-figure-with-plots-and-a-pdf-image-per-attachment

Answered: Abhishek Kumar Singh on 21 May 2024 at 12:24

  • plots and image.pdf

Is it possible to use tiledlayout to create a figure with plots and a PDF image (or other vector image)? (per attachment)

tiledlayout nexttile recognizes different "plot" commands. How would I get nexttile to recognize a PDF image as a plot? And then add a title to the image just like a plot title?

Or is there a bettery way to do this than using tiledlayout?

0 Comments

Show -2 older commentsHide -2 older comments

Sign in to comment.

Sign in to answer this question.

Answers (2)

Pratyush Swain on 21 May 2024 at 12:20

  • Link

    Direct link to this answer

    https://jmaab.mathworks.com/matlabcentral/answers/2121016-is-it-possible-to-use-tiledlayout-to-create-a-figure-with-plots-and-a-pdf-image-per-attachment#answer_1461046

  • Link

    Direct link to this answer

    https://jmaab.mathworks.com/matlabcentral/answers/2121016-is-it-possible-to-use-tiledlayout-to-create-a-figure-with-plots-and-a-pdf-image-per-attachment#answer_1461046

Open in MATLAB Online

Hi AP,

Using "tiledlayout" in MATLAB, you can create a figure that includes both plots and images.But MATLAB doesn't support PDF images for this purpose, you can leverage external tools to convert pdf to an image format (such as PNG/JPG) and then display it using the "imshow" or "imagesc" function within the "tiledlayout"

% Create a tiled layout

t = tiledlayout(2,2);

% Plot exapin the first three tiles

nexttile;

plot(rand(10,1));

title('MATLAB Plot');

nexttile;

plot(sin(1:0.1:10));

title('MATLAB Plot');

nexttile;

plot(cos(1:0.1:10));

title('MATLAB Plot');

% Display an image in the fourth tile

nexttile;

% Read the converted PDF image

img = imread('path to your image');

imagesc(img);

% You can add a title too

title('Image Plot');

I tried the implementation with a demo image and this was the output:

Is it possible to use tiledlayout to create a figure with plots and... (3)

For more information on nexttile, you can refer to https://www.mathworks.com/help/matlab/ref/nexttile.html

Hope this helps.

0 Comments

Show -2 older commentsHide -2 older comments

Sign in to comment.

Abhishek Kumar Singh on 21 May 2024 at 12:24

  • Link

    Direct link to this answer

    https://jmaab.mathworks.com/matlabcentral/answers/2121016-is-it-possible-to-use-tiledlayout-to-create-a-figure-with-plots-and-a-pdf-image-per-attachment#answer_1461051

  • Link

    Direct link to this answer

    https://jmaab.mathworks.com/matlabcentral/answers/2121016-is-it-possible-to-use-tiledlayout-to-create-a-figure-with-plots-and-a-pdf-image-per-attachment#answer_1461051

Open in MATLAB Online

  • cute_cat.jpg

Yes, it's possible to combine plots and vector images (such as PDF images) within a figure using tiledlayout and nexttile in MATLAB. While nexttile is primarily designed for plotting axes, you can still use it to display images by creating an axes object and then displaying the image within that axes.

Here's a general approach to achieve this:

  1. Use a custom MATLAB function extractImagePDF to extract images from a native PDF and save them as JPG files. Follow the MATLAB Answer for code and usage of the custom function at: https://www.mathworks.com/matlabcentral/answers/709623-how-can-i-convert-a-scanned-pdf-to-an-image-using-matlab.
  2. Create a tiled layout using tiledlayout.
  3. Use nexttile to create an axes for each plot or image.
  4. For plots, use standard plotting functions like plot, scatter, etc., to generate the desired plot in each axes.
  5. For images, use the imshow function to display the PDF image within the axes.
  6. Optionally, add titles to the plots and images using the title function.

Here's an example code snippet demonstrating this approach, after generating a JPG/PNG image:

% Define x values for the waves

x = linspace(0, 2*pi, 100);

% Create sine, cosine, and tangent waves

y1 = sin(x);

y2 = cos(x);

y3 = tan(x);

% Create tiled layout with 2 rows and 2 columns

tiledlayout(2, 2);

% Plot sine wave

nexttile;

plot(x, y1);

title('Sine Wave');

% Plot cosine wave

nexttile;

plot(x, y2);

title('Cosine Wave');

% Plot tangent wave

nexttile;

plot(x, y3);

title('Tangent Wave');

% Load and display an image of a cat

catImage = imread('cute_cat.jpg'); % Load cat image

nexttile;

imshow(catImage);

title('A Cute Cat');

% Adjust layout

tiledlayout.TileSpacing = 'compact';

tiledlayout.Padding = 'compact';

% Export the figure as a PDF

exportgraphics(gcf, 'plot_and_image.pdf', 'ContentType', 'vector');

Is it possible to use tiledlayout to create a figure with plots and... (5)

This code will create a figure with three subplots displaying sine, cosine, and tangent waves, and a fourth subplot displaying the image of a cat. Finally, it will export the figure as a PDF named plot_and_image.pdf.

Hope it helps!

0 Comments

Show -2 older commentsHide -2 older comments

Sign in to comment.

Sign in to answer this question.

See Also

Categories

MATLABGraphicsFormatting and Annotation3-D Scene ControlLighting, Transparency, and Shading

Find more on Lighting, Transparency, and Shading in Help Center and File Exchange

Tags

  • tiledlayout
  • nexttile
  • image
  • vector image
  • pdf

Products

  • MATLAB

Release

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

An Error Occurred

Unable to complete the action because of changes made to the page. Reload the page to see its updated state.


Is it possible to use tiledlayout to create a figure with plots and... (6)

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list

Americas

  • América Latina (Español)
  • Canada (English)
  • United States (English)

Europe

  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • Switzerland
    • Deutsch
    • English
    • Français
  • United Kingdom(English)

Asia Pacific

Contact your local office

Is it possible to use tiledlayout to create a figure with plots and... (2024)

References

Top Articles
Latest Posts
Article information

Author: Ouida Strosin DO

Last Updated:

Views: 6254

Rating: 4.6 / 5 (56 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Ouida Strosin DO

Birthday: 1995-04-27

Address: Suite 927 930 Kilback Radial, Candidaville, TN 87795

Phone: +8561498978366

Job: Legacy Manufacturing Specialist

Hobby: Singing, Mountain biking, Water sports, Water sports, Taxidermy, Polo, Pet

Introduction: My name is Ouida Strosin DO, I am a precious, combative, spotless, modern, spotless, beautiful, precious person who loves writing and wants to share my knowledge and understanding with you.