What are the benefits of PGFPlots/TikZ compared to importing PDF?











up vote
17
down vote

favorite
2












What are the benefits of using tools like pgfplots or tikz directly in LaTeX compared to importing PDF/PGF generated by say matplotlib?



This answer believed that the main reason is to match the plots with the rest of the document. It also mentioned that no other plotting packages from R or python can generate graphs that have the same high image quality as those generated by pgfplots in LaTeX directly, but no examples or reasons were given. Is there evidence to back up this claim?



Another related question is that, is there any reason for exporting a plot to PGF instead of PDF? This comment said that the reason is PGF will generate the whole graph in LaTeX while importing to PDF even with usetex will only use LaTeX for the text part of the graph. But if the main reason for plotting in LaTeX is that we can match the plots with the rest of the text document, usetex exactly does that.



My current adopted approach to producing PDF documents with graphs is (i) generate graphs using tools like matplotlib or other plotting packages in a scientific programming language so that I can do computations before plotting or plot repetitive graphs; (ii) export to PDF files and use usetex if I want to match the font with my document; (iii) import the PDF files using includegraphics and make final adjustments.



This seems to work out just fine and I didn't notice any image quality issues or graph not matching with the rest of the document.



So are there any other reasons to use native plotting utilities like pgfplots in LaTeX that I overlooked?










share|improve this question









New contributor




Junnan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 2




    Personally I do not want match plot and main text fonts, so I hardly seem justified change the simplicity of manage data and plotting in R for a more complex LaTeX solution. Moreover with knitr you can use a tikz device, so the R plot can also match the LateX fonts in this way (example here). Therefore, I use pgfplots or tikz directly only when I do not kown an easier method in R.
    – Fran
    2 days ago






  • 2




    One big reason (but not big enough to warrant an answer of its own) is archival value - a document with a tikz picture can be stored as a very small text file (all you need is the tex document), whereas if you are importing figures, the image files can often be much bigger than the tex file in question, meaning the same document takes up significantly more space wherever it is archived (or arXived).
    – Sean English
    2 days ago






  • 1




    The sagetex package gives you access to a computer algebra system as well as Python/matplotlib for calculations and/or graphing. This can give computer generated graphs for your LaTeX document or, to make everything pretty, you can force the calculations into tikz/pfgplots. See my answers to graphing Riemann Zeta and Cantor functions for comparison.
    – DJP
    2 days ago








  • 1




    PGF/TikZ generates vector graphics, which scale. I'm not sure if an imported matplotlib plot would have this, but I doubt it. And I don't see anyone else mentioning it.
    – Faheem Mitha
    2 days ago






  • 1




    Also, there are tools like R's TikZDevice which allow one to have one's cake and eat it too. Generate a plot with R, then use TikZDevice to render it using TikZ.
    – Faheem Mitha
    2 days ago

















up vote
17
down vote

favorite
2












What are the benefits of using tools like pgfplots or tikz directly in LaTeX compared to importing PDF/PGF generated by say matplotlib?



This answer believed that the main reason is to match the plots with the rest of the document. It also mentioned that no other plotting packages from R or python can generate graphs that have the same high image quality as those generated by pgfplots in LaTeX directly, but no examples or reasons were given. Is there evidence to back up this claim?



Another related question is that, is there any reason for exporting a plot to PGF instead of PDF? This comment said that the reason is PGF will generate the whole graph in LaTeX while importing to PDF even with usetex will only use LaTeX for the text part of the graph. But if the main reason for plotting in LaTeX is that we can match the plots with the rest of the text document, usetex exactly does that.



My current adopted approach to producing PDF documents with graphs is (i) generate graphs using tools like matplotlib or other plotting packages in a scientific programming language so that I can do computations before plotting or plot repetitive graphs; (ii) export to PDF files and use usetex if I want to match the font with my document; (iii) import the PDF files using includegraphics and make final adjustments.



This seems to work out just fine and I didn't notice any image quality issues or graph not matching with the rest of the document.



So are there any other reasons to use native plotting utilities like pgfplots in LaTeX that I overlooked?










share|improve this question









New contributor




Junnan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 2




    Personally I do not want match plot and main text fonts, so I hardly seem justified change the simplicity of manage data and plotting in R for a more complex LaTeX solution. Moreover with knitr you can use a tikz device, so the R plot can also match the LateX fonts in this way (example here). Therefore, I use pgfplots or tikz directly only when I do not kown an easier method in R.
    – Fran
    2 days ago






  • 2




    One big reason (but not big enough to warrant an answer of its own) is archival value - a document with a tikz picture can be stored as a very small text file (all you need is the tex document), whereas if you are importing figures, the image files can often be much bigger than the tex file in question, meaning the same document takes up significantly more space wherever it is archived (or arXived).
    – Sean English
    2 days ago






  • 1




    The sagetex package gives you access to a computer algebra system as well as Python/matplotlib for calculations and/or graphing. This can give computer generated graphs for your LaTeX document or, to make everything pretty, you can force the calculations into tikz/pfgplots. See my answers to graphing Riemann Zeta and Cantor functions for comparison.
    – DJP
    2 days ago








  • 1




    PGF/TikZ generates vector graphics, which scale. I'm not sure if an imported matplotlib plot would have this, but I doubt it. And I don't see anyone else mentioning it.
    – Faheem Mitha
    2 days ago






  • 1




    Also, there are tools like R's TikZDevice which allow one to have one's cake and eat it too. Generate a plot with R, then use TikZDevice to render it using TikZ.
    – Faheem Mitha
    2 days ago















up vote
17
down vote

favorite
2









up vote
17
down vote

favorite
2






2





What are the benefits of using tools like pgfplots or tikz directly in LaTeX compared to importing PDF/PGF generated by say matplotlib?



This answer believed that the main reason is to match the plots with the rest of the document. It also mentioned that no other plotting packages from R or python can generate graphs that have the same high image quality as those generated by pgfplots in LaTeX directly, but no examples or reasons were given. Is there evidence to back up this claim?



Another related question is that, is there any reason for exporting a plot to PGF instead of PDF? This comment said that the reason is PGF will generate the whole graph in LaTeX while importing to PDF even with usetex will only use LaTeX for the text part of the graph. But if the main reason for plotting in LaTeX is that we can match the plots with the rest of the text document, usetex exactly does that.



My current adopted approach to producing PDF documents with graphs is (i) generate graphs using tools like matplotlib or other plotting packages in a scientific programming language so that I can do computations before plotting or plot repetitive graphs; (ii) export to PDF files and use usetex if I want to match the font with my document; (iii) import the PDF files using includegraphics and make final adjustments.



This seems to work out just fine and I didn't notice any image quality issues or graph not matching with the rest of the document.



So are there any other reasons to use native plotting utilities like pgfplots in LaTeX that I overlooked?










share|improve this question









New contributor




Junnan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











What are the benefits of using tools like pgfplots or tikz directly in LaTeX compared to importing PDF/PGF generated by say matplotlib?



This answer believed that the main reason is to match the plots with the rest of the document. It also mentioned that no other plotting packages from R or python can generate graphs that have the same high image quality as those generated by pgfplots in LaTeX directly, but no examples or reasons were given. Is there evidence to back up this claim?



Another related question is that, is there any reason for exporting a plot to PGF instead of PDF? This comment said that the reason is PGF will generate the whole graph in LaTeX while importing to PDF even with usetex will only use LaTeX for the text part of the graph. But if the main reason for plotting in LaTeX is that we can match the plots with the rest of the text document, usetex exactly does that.



My current adopted approach to producing PDF documents with graphs is (i) generate graphs using tools like matplotlib or other plotting packages in a scientific programming language so that I can do computations before plotting or plot repetitive graphs; (ii) export to PDF files and use usetex if I want to match the font with my document; (iii) import the PDF files using includegraphics and make final adjustments.



This seems to work out just fine and I didn't notice any image quality issues or graph not matching with the rest of the document.



So are there any other reasons to use native plotting utilities like pgfplots in LaTeX that I overlooked?







tikz-pgf pgfplots graphics plot






share|improve this question









New contributor




Junnan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




Junnan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited 2 days ago









homocomputeris

1047




1047






New contributor




Junnan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked Nov 14 at 6:01









Junnan

885




885




New contributor




Junnan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Junnan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Junnan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








  • 2




    Personally I do not want match plot and main text fonts, so I hardly seem justified change the simplicity of manage data and plotting in R for a more complex LaTeX solution. Moreover with knitr you can use a tikz device, so the R plot can also match the LateX fonts in this way (example here). Therefore, I use pgfplots or tikz directly only when I do not kown an easier method in R.
    – Fran
    2 days ago






  • 2




    One big reason (but not big enough to warrant an answer of its own) is archival value - a document with a tikz picture can be stored as a very small text file (all you need is the tex document), whereas if you are importing figures, the image files can often be much bigger than the tex file in question, meaning the same document takes up significantly more space wherever it is archived (or arXived).
    – Sean English
    2 days ago






  • 1




    The sagetex package gives you access to a computer algebra system as well as Python/matplotlib for calculations and/or graphing. This can give computer generated graphs for your LaTeX document or, to make everything pretty, you can force the calculations into tikz/pfgplots. See my answers to graphing Riemann Zeta and Cantor functions for comparison.
    – DJP
    2 days ago








  • 1




    PGF/TikZ generates vector graphics, which scale. I'm not sure if an imported matplotlib plot would have this, but I doubt it. And I don't see anyone else mentioning it.
    – Faheem Mitha
    2 days ago






  • 1




    Also, there are tools like R's TikZDevice which allow one to have one's cake and eat it too. Generate a plot with R, then use TikZDevice to render it using TikZ.
    – Faheem Mitha
    2 days ago
















  • 2




    Personally I do not want match plot and main text fonts, so I hardly seem justified change the simplicity of manage data and plotting in R for a more complex LaTeX solution. Moreover with knitr you can use a tikz device, so the R plot can also match the LateX fonts in this way (example here). Therefore, I use pgfplots or tikz directly only when I do not kown an easier method in R.
    – Fran
    2 days ago






  • 2




    One big reason (but not big enough to warrant an answer of its own) is archival value - a document with a tikz picture can be stored as a very small text file (all you need is the tex document), whereas if you are importing figures, the image files can often be much bigger than the tex file in question, meaning the same document takes up significantly more space wherever it is archived (or arXived).
    – Sean English
    2 days ago






  • 1




    The sagetex package gives you access to a computer algebra system as well as Python/matplotlib for calculations and/or graphing. This can give computer generated graphs for your LaTeX document or, to make everything pretty, you can force the calculations into tikz/pfgplots. See my answers to graphing Riemann Zeta and Cantor functions for comparison.
    – DJP
    2 days ago








  • 1




    PGF/TikZ generates vector graphics, which scale. I'm not sure if an imported matplotlib plot would have this, but I doubt it. And I don't see anyone else mentioning it.
    – Faheem Mitha
    2 days ago






  • 1




    Also, there are tools like R's TikZDevice which allow one to have one's cake and eat it too. Generate a plot with R, then use TikZDevice to render it using TikZ.
    – Faheem Mitha
    2 days ago










2




2




Personally I do not want match plot and main text fonts, so I hardly seem justified change the simplicity of manage data and plotting in R for a more complex LaTeX solution. Moreover with knitr you can use a tikz device, so the R plot can also match the LateX fonts in this way (example here). Therefore, I use pgfplots or tikz directly only when I do not kown an easier method in R.
– Fran
2 days ago




Personally I do not want match plot and main text fonts, so I hardly seem justified change the simplicity of manage data and plotting in R for a more complex LaTeX solution. Moreover with knitr you can use a tikz device, so the R plot can also match the LateX fonts in this way (example here). Therefore, I use pgfplots or tikz directly only when I do not kown an easier method in R.
– Fran
2 days ago




2




2




One big reason (but not big enough to warrant an answer of its own) is archival value - a document with a tikz picture can be stored as a very small text file (all you need is the tex document), whereas if you are importing figures, the image files can often be much bigger than the tex file in question, meaning the same document takes up significantly more space wherever it is archived (or arXived).
– Sean English
2 days ago




One big reason (but not big enough to warrant an answer of its own) is archival value - a document with a tikz picture can be stored as a very small text file (all you need is the tex document), whereas if you are importing figures, the image files can often be much bigger than the tex file in question, meaning the same document takes up significantly more space wherever it is archived (or arXived).
– Sean English
2 days ago




1




1




The sagetex package gives you access to a computer algebra system as well as Python/matplotlib for calculations and/or graphing. This can give computer generated graphs for your LaTeX document or, to make everything pretty, you can force the calculations into tikz/pfgplots. See my answers to graphing Riemann Zeta and Cantor functions for comparison.
– DJP
2 days ago






The sagetex package gives you access to a computer algebra system as well as Python/matplotlib for calculations and/or graphing. This can give computer generated graphs for your LaTeX document or, to make everything pretty, you can force the calculations into tikz/pfgplots. See my answers to graphing Riemann Zeta and Cantor functions for comparison.
– DJP
2 days ago






1




1




PGF/TikZ generates vector graphics, which scale. I'm not sure if an imported matplotlib plot would have this, but I doubt it. And I don't see anyone else mentioning it.
– Faheem Mitha
2 days ago




PGF/TikZ generates vector graphics, which scale. I'm not sure if an imported matplotlib plot would have this, but I doubt it. And I don't see anyone else mentioning it.
– Faheem Mitha
2 days ago




1




1




Also, there are tools like R's TikZDevice which allow one to have one's cake and eat it too. Generate a plot with R, then use TikZDevice to render it using TikZ.
– Faheem Mitha
2 days ago






Also, there are tools like R's TikZDevice which allow one to have one's cake and eat it too. Generate a plot with R, then use TikZDevice to render it using TikZ.
– Faheem Mitha
2 days ago












4 Answers
4






active

oldest

votes

















up vote
14
down vote



accepted










Welcome to TeX.SE! I think that, as long as you feel comfortable with the way you are producing and embedding the plots, and are happy with the result, this should be the way to go. I personally use TikZ and pgfplots for sufficiently simple plots (after I switched there from pstricks). My main motivation are points that are not in your list:




  1. I do not have to open several files and adjust things.

  2. If I include the graph in a beamer presentation, it automatically comes with the right font as the ambient document. If I understand you correctly, if I were to use the method you suggest I would have to produce a separate pdf for the beamer presentation.

  3. I also use some macros. Even though I do not use many of them, I find it sometimes convenient to define some symbols via a macro. I can use this macro also in my plots and figures.

  4. Even though this is not a major issue, when working on something together with others on a file just works. I do not have to worry that my collaborators may not have downloaded another plot from the repository. Rather, once they have the file, they have all they need to compile the document. Likewise, my collaborators can also add figures and plots in the same way without having to worry about these issues.


Having said this, let me also mention that there are sufficiently complicated plots which I do not do with pgfplots or TikZ. After all, LaTeX is not a computer algebra system.






share|improve this answer



















  • 1




    doesn't it add also the possibility to get e.g. arrows go from the text (or text margin) to some node in the pgf/TikZ picture? this is possible already even including graphics but you need to figure out absolute coordinates. With nodes from TikZ your document can evolve while maintaining the fancy decorations.
    – jfbu
    2 days ago










  • @jfbu Yes, this is another valid point (even though this is not one of the main reasons why I personally use pgfplots).
    – marmot
    2 days ago


















up vote
9
down vote













Welcome to TeX.SE! I think there is not a default answer to your question per se. It more likely depends on the fact how you perceive TeX itself. If you merely view it as a system to format your text and structure your document, you are very likely to adopt the workflow to generate plots using your programming language than a system that it tightly integrated with TeX.



The viewpoint I, as a PhD student in signal processing, usually take instead is the following: I use TeX as a means of formatting and presenting my whole work and results in an appropriate fashion. This means that not only to I typeset my thoughts and arguments in TeX but also the simulation results and visualizations I can come up with.



That being said, I usually proceed the following way when it comes to plots:




  1. I write a whole bunch of simulation scripts that usually produce several MB of files containing some multidimensional simulation results and their parameters. These scripts tend to take very long computation wise and generate a whole bunch of data.

  2. I write an a lot smaller script that does the simulation data processing and this script produces two things. First it produces some very ugly plots, which only serve me as means of quickly debugging the data and the simulations in 1. And second at least one *.csv file, which usually only is a few KB only containing the data and parameters I actually want to plot. This can stem from averaging or applying some other kind of statistics to the data from 1.

  3. I use this *.csv file to generate plots using PGF by loading the data from it, which I can easily plug into a poster template, a beamer template or a paper template and a nicely composed selection of macros and color schemes make everything look very integrated with the rest of the document at hand.


What are the advantages of this approach you might ask and very rightfully so, since it seems to introduce one additional layer of complexity. The reasons for me doing this are in ascending order of importance




  1. It makes simulation data analysis more transparent, since it separates data generation from data evaluation.

  2. It makes my workflow more flexible, since the separation of simulation and evaluation allows one of the two to change without affecting the other. Especially when simulations take long, it is of tremendous value that the post-processing is decoupled from them.

  3. It forces me to think about the data structures within my simulation, which results in a more structured workflow itself.

  4. The decoupling of the post-processing (generating the *.csv-files) from the plotting yields again a more flexible workflow. After having generate all the data you need, you never ever have to touch it. It is just there and you can focus in TeX on the visualization.

  5. All data visualization parameters, so the parameters of your plots are at one place – in the TeX code – making it easier not to loose your mind.


Summarizing, it simply gives you more freedom, while also enforcing a more streamlined but structured workflow and puts things where they should be (IMHO), since programming is for data generation and TeX is amazing at making things look beautiful! :-)



EDIT: When collaborating with others it also is of tremendous value. If you only hand out raw or processed simulation results (which you can handle with git or any other similar tool quite nicely), you make it easier for others to modify the presentation of the data, since they do not need to run any code external to TeX to get things going.






share|improve this answer



















  • 1




    Thanks for offering a new perspective. However, I think most of your points serve more to justifying the separation of simulation/computation from plotting than justifying plotting inside TeX. For example, I might well use one large script to do the simulation and get raw data, and use another small python script for plotting. I can also reuse the latter script for any future plotting tasks, to make my plots more consistent. Collaboration will also not be a problem as long as they also have python installed.
    – Junnan
    2 days ago






  • 1




    Well, yes and no. In the moment you are deciding what data to present you are often not in the position to know how it will be type set. You might have some simulation results and you are writing a paper and then you have to compose a poster, some slides or both. In this case you have to change your plots accordingly, since generally posters and slides use different font, have different requirements in presentation, since the audience perceives your work differently, so some line styles, arrangements and font sizes might not work in these cases. These adaptions should be handled by TeX.
    – Labello
    2 days ago


















up vote
6
down vote













The main reason is to match the text, as you already said, but also the arrow tips or other similar symbols.



Another reason (valid in my case) is "not to have another tool for plotting graphs available".






share|improve this answer




























    up vote
    3
    down vote













    PGFPlots has quite a few advantages. It does not only provide pretty graphs and tables, but also a bit of handling of data (csv reader, and a possiblity to embed the data direct in the document), such that you're sure that your tables and plots always show the same data. It also can calculate regressions and a lot more (see their examples gallery).



    It is one nice way to do such things.




    It also mentioned that no other plotting packages from R or python can generate graphs that have the same high image quality as those generated by pgfplots in LaTeX directly, but no examples or reasons were given. Is there evidence to back up this claim?




    No. I created nice looking documents by embedding PDF/EPS generated with gnuplot and matplotlib (python). Some of them look more modern than pgfplots tables. Still it requires a bit more complicated build process (I use makefiles for this) and more experimenting until everything matches, padding and margin are nice and the fonts look the same.



    PGFPlots is "just" a LaTeX package and follows the same philosophy, that you should not need to handle the details, but just provide the data and it will produce something nice looking.



    For other functions of PGFPlots and TikZ than tables and plots I often prefer using SVGs (use inkscape for high-quality PDF export). They are not automatically generated, but you have more control over the look without using many TeX commands.






    share|improve this answer





















      Your Answer








      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "85"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      convertImagesToLinks: false,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: null,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });






      Junnan is a new contributor. Be nice, and check out our Code of Conduct.










       

      draft saved


      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f459883%2fwhat-are-the-benefits-of-pgfplots-tikz-compared-to-importing-pdf%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      4 Answers
      4






      active

      oldest

      votes








      4 Answers
      4






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes








      up vote
      14
      down vote



      accepted










      Welcome to TeX.SE! I think that, as long as you feel comfortable with the way you are producing and embedding the plots, and are happy with the result, this should be the way to go. I personally use TikZ and pgfplots for sufficiently simple plots (after I switched there from pstricks). My main motivation are points that are not in your list:




      1. I do not have to open several files and adjust things.

      2. If I include the graph in a beamer presentation, it automatically comes with the right font as the ambient document. If I understand you correctly, if I were to use the method you suggest I would have to produce a separate pdf for the beamer presentation.

      3. I also use some macros. Even though I do not use many of them, I find it sometimes convenient to define some symbols via a macro. I can use this macro also in my plots and figures.

      4. Even though this is not a major issue, when working on something together with others on a file just works. I do not have to worry that my collaborators may not have downloaded another plot from the repository. Rather, once they have the file, they have all they need to compile the document. Likewise, my collaborators can also add figures and plots in the same way without having to worry about these issues.


      Having said this, let me also mention that there are sufficiently complicated plots which I do not do with pgfplots or TikZ. After all, LaTeX is not a computer algebra system.






      share|improve this answer



















      • 1




        doesn't it add also the possibility to get e.g. arrows go from the text (or text margin) to some node in the pgf/TikZ picture? this is possible already even including graphics but you need to figure out absolute coordinates. With nodes from TikZ your document can evolve while maintaining the fancy decorations.
        – jfbu
        2 days ago










      • @jfbu Yes, this is another valid point (even though this is not one of the main reasons why I personally use pgfplots).
        – marmot
        2 days ago















      up vote
      14
      down vote



      accepted










      Welcome to TeX.SE! I think that, as long as you feel comfortable with the way you are producing and embedding the plots, and are happy with the result, this should be the way to go. I personally use TikZ and pgfplots for sufficiently simple plots (after I switched there from pstricks). My main motivation are points that are not in your list:




      1. I do not have to open several files and adjust things.

      2. If I include the graph in a beamer presentation, it automatically comes with the right font as the ambient document. If I understand you correctly, if I were to use the method you suggest I would have to produce a separate pdf for the beamer presentation.

      3. I also use some macros. Even though I do not use many of them, I find it sometimes convenient to define some symbols via a macro. I can use this macro also in my plots and figures.

      4. Even though this is not a major issue, when working on something together with others on a file just works. I do not have to worry that my collaborators may not have downloaded another plot from the repository. Rather, once they have the file, they have all they need to compile the document. Likewise, my collaborators can also add figures and plots in the same way without having to worry about these issues.


      Having said this, let me also mention that there are sufficiently complicated plots which I do not do with pgfplots or TikZ. After all, LaTeX is not a computer algebra system.






      share|improve this answer



















      • 1




        doesn't it add also the possibility to get e.g. arrows go from the text (or text margin) to some node in the pgf/TikZ picture? this is possible already even including graphics but you need to figure out absolute coordinates. With nodes from TikZ your document can evolve while maintaining the fancy decorations.
        – jfbu
        2 days ago










      • @jfbu Yes, this is another valid point (even though this is not one of the main reasons why I personally use pgfplots).
        – marmot
        2 days ago













      up vote
      14
      down vote



      accepted







      up vote
      14
      down vote



      accepted






      Welcome to TeX.SE! I think that, as long as you feel comfortable with the way you are producing and embedding the plots, and are happy with the result, this should be the way to go. I personally use TikZ and pgfplots for sufficiently simple plots (after I switched there from pstricks). My main motivation are points that are not in your list:




      1. I do not have to open several files and adjust things.

      2. If I include the graph in a beamer presentation, it automatically comes with the right font as the ambient document. If I understand you correctly, if I were to use the method you suggest I would have to produce a separate pdf for the beamer presentation.

      3. I also use some macros. Even though I do not use many of them, I find it sometimes convenient to define some symbols via a macro. I can use this macro also in my plots and figures.

      4. Even though this is not a major issue, when working on something together with others on a file just works. I do not have to worry that my collaborators may not have downloaded another plot from the repository. Rather, once they have the file, they have all they need to compile the document. Likewise, my collaborators can also add figures and plots in the same way without having to worry about these issues.


      Having said this, let me also mention that there are sufficiently complicated plots which I do not do with pgfplots or TikZ. After all, LaTeX is not a computer algebra system.






      share|improve this answer














      Welcome to TeX.SE! I think that, as long as you feel comfortable with the way you are producing and embedding the plots, and are happy with the result, this should be the way to go. I personally use TikZ and pgfplots for sufficiently simple plots (after I switched there from pstricks). My main motivation are points that are not in your list:




      1. I do not have to open several files and adjust things.

      2. If I include the graph in a beamer presentation, it automatically comes with the right font as the ambient document. If I understand you correctly, if I were to use the method you suggest I would have to produce a separate pdf for the beamer presentation.

      3. I also use some macros. Even though I do not use many of them, I find it sometimes convenient to define some symbols via a macro. I can use this macro also in my plots and figures.

      4. Even though this is not a major issue, when working on something together with others on a file just works. I do not have to worry that my collaborators may not have downloaded another plot from the repository. Rather, once they have the file, they have all they need to compile the document. Likewise, my collaborators can also add figures and plots in the same way without having to worry about these issues.


      Having said this, let me also mention that there are sufficiently complicated plots which I do not do with pgfplots or TikZ. After all, LaTeX is not a computer algebra system.







      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited Nov 14 at 6:33

























      answered Nov 14 at 6:17









      marmot

      75.5k485159




      75.5k485159








      • 1




        doesn't it add also the possibility to get e.g. arrows go from the text (or text margin) to some node in the pgf/TikZ picture? this is possible already even including graphics but you need to figure out absolute coordinates. With nodes from TikZ your document can evolve while maintaining the fancy decorations.
        – jfbu
        2 days ago










      • @jfbu Yes, this is another valid point (even though this is not one of the main reasons why I personally use pgfplots).
        – marmot
        2 days ago














      • 1




        doesn't it add also the possibility to get e.g. arrows go from the text (or text margin) to some node in the pgf/TikZ picture? this is possible already even including graphics but you need to figure out absolute coordinates. With nodes from TikZ your document can evolve while maintaining the fancy decorations.
        – jfbu
        2 days ago










      • @jfbu Yes, this is another valid point (even though this is not one of the main reasons why I personally use pgfplots).
        – marmot
        2 days ago








      1




      1




      doesn't it add also the possibility to get e.g. arrows go from the text (or text margin) to some node in the pgf/TikZ picture? this is possible already even including graphics but you need to figure out absolute coordinates. With nodes from TikZ your document can evolve while maintaining the fancy decorations.
      – jfbu
      2 days ago




      doesn't it add also the possibility to get e.g. arrows go from the text (or text margin) to some node in the pgf/TikZ picture? this is possible already even including graphics but you need to figure out absolute coordinates. With nodes from TikZ your document can evolve while maintaining the fancy decorations.
      – jfbu
      2 days ago












      @jfbu Yes, this is another valid point (even though this is not one of the main reasons why I personally use pgfplots).
      – marmot
      2 days ago




      @jfbu Yes, this is another valid point (even though this is not one of the main reasons why I personally use pgfplots).
      – marmot
      2 days ago










      up vote
      9
      down vote













      Welcome to TeX.SE! I think there is not a default answer to your question per se. It more likely depends on the fact how you perceive TeX itself. If you merely view it as a system to format your text and structure your document, you are very likely to adopt the workflow to generate plots using your programming language than a system that it tightly integrated with TeX.



      The viewpoint I, as a PhD student in signal processing, usually take instead is the following: I use TeX as a means of formatting and presenting my whole work and results in an appropriate fashion. This means that not only to I typeset my thoughts and arguments in TeX but also the simulation results and visualizations I can come up with.



      That being said, I usually proceed the following way when it comes to plots:




      1. I write a whole bunch of simulation scripts that usually produce several MB of files containing some multidimensional simulation results and their parameters. These scripts tend to take very long computation wise and generate a whole bunch of data.

      2. I write an a lot smaller script that does the simulation data processing and this script produces two things. First it produces some very ugly plots, which only serve me as means of quickly debugging the data and the simulations in 1. And second at least one *.csv file, which usually only is a few KB only containing the data and parameters I actually want to plot. This can stem from averaging or applying some other kind of statistics to the data from 1.

      3. I use this *.csv file to generate plots using PGF by loading the data from it, which I can easily plug into a poster template, a beamer template or a paper template and a nicely composed selection of macros and color schemes make everything look very integrated with the rest of the document at hand.


      What are the advantages of this approach you might ask and very rightfully so, since it seems to introduce one additional layer of complexity. The reasons for me doing this are in ascending order of importance




      1. It makes simulation data analysis more transparent, since it separates data generation from data evaluation.

      2. It makes my workflow more flexible, since the separation of simulation and evaluation allows one of the two to change without affecting the other. Especially when simulations take long, it is of tremendous value that the post-processing is decoupled from them.

      3. It forces me to think about the data structures within my simulation, which results in a more structured workflow itself.

      4. The decoupling of the post-processing (generating the *.csv-files) from the plotting yields again a more flexible workflow. After having generate all the data you need, you never ever have to touch it. It is just there and you can focus in TeX on the visualization.

      5. All data visualization parameters, so the parameters of your plots are at one place – in the TeX code – making it easier not to loose your mind.


      Summarizing, it simply gives you more freedom, while also enforcing a more streamlined but structured workflow and puts things where they should be (IMHO), since programming is for data generation and TeX is amazing at making things look beautiful! :-)



      EDIT: When collaborating with others it also is of tremendous value. If you only hand out raw or processed simulation results (which you can handle with git or any other similar tool quite nicely), you make it easier for others to modify the presentation of the data, since they do not need to run any code external to TeX to get things going.






      share|improve this answer



















      • 1




        Thanks for offering a new perspective. However, I think most of your points serve more to justifying the separation of simulation/computation from plotting than justifying plotting inside TeX. For example, I might well use one large script to do the simulation and get raw data, and use another small python script for plotting. I can also reuse the latter script for any future plotting tasks, to make my plots more consistent. Collaboration will also not be a problem as long as they also have python installed.
        – Junnan
        2 days ago






      • 1




        Well, yes and no. In the moment you are deciding what data to present you are often not in the position to know how it will be type set. You might have some simulation results and you are writing a paper and then you have to compose a poster, some slides or both. In this case you have to change your plots accordingly, since generally posters and slides use different font, have different requirements in presentation, since the audience perceives your work differently, so some line styles, arrangements and font sizes might not work in these cases. These adaptions should be handled by TeX.
        – Labello
        2 days ago















      up vote
      9
      down vote













      Welcome to TeX.SE! I think there is not a default answer to your question per se. It more likely depends on the fact how you perceive TeX itself. If you merely view it as a system to format your text and structure your document, you are very likely to adopt the workflow to generate plots using your programming language than a system that it tightly integrated with TeX.



      The viewpoint I, as a PhD student in signal processing, usually take instead is the following: I use TeX as a means of formatting and presenting my whole work and results in an appropriate fashion. This means that not only to I typeset my thoughts and arguments in TeX but also the simulation results and visualizations I can come up with.



      That being said, I usually proceed the following way when it comes to plots:




      1. I write a whole bunch of simulation scripts that usually produce several MB of files containing some multidimensional simulation results and their parameters. These scripts tend to take very long computation wise and generate a whole bunch of data.

      2. I write an a lot smaller script that does the simulation data processing and this script produces two things. First it produces some very ugly plots, which only serve me as means of quickly debugging the data and the simulations in 1. And second at least one *.csv file, which usually only is a few KB only containing the data and parameters I actually want to plot. This can stem from averaging or applying some other kind of statistics to the data from 1.

      3. I use this *.csv file to generate plots using PGF by loading the data from it, which I can easily plug into a poster template, a beamer template or a paper template and a nicely composed selection of macros and color schemes make everything look very integrated with the rest of the document at hand.


      What are the advantages of this approach you might ask and very rightfully so, since it seems to introduce one additional layer of complexity. The reasons for me doing this are in ascending order of importance




      1. It makes simulation data analysis more transparent, since it separates data generation from data evaluation.

      2. It makes my workflow more flexible, since the separation of simulation and evaluation allows one of the two to change without affecting the other. Especially when simulations take long, it is of tremendous value that the post-processing is decoupled from them.

      3. It forces me to think about the data structures within my simulation, which results in a more structured workflow itself.

      4. The decoupling of the post-processing (generating the *.csv-files) from the plotting yields again a more flexible workflow. After having generate all the data you need, you never ever have to touch it. It is just there and you can focus in TeX on the visualization.

      5. All data visualization parameters, so the parameters of your plots are at one place – in the TeX code – making it easier not to loose your mind.


      Summarizing, it simply gives you more freedom, while also enforcing a more streamlined but structured workflow and puts things where they should be (IMHO), since programming is for data generation and TeX is amazing at making things look beautiful! :-)



      EDIT: When collaborating with others it also is of tremendous value. If you only hand out raw or processed simulation results (which you can handle with git or any other similar tool quite nicely), you make it easier for others to modify the presentation of the data, since they do not need to run any code external to TeX to get things going.






      share|improve this answer



















      • 1




        Thanks for offering a new perspective. However, I think most of your points serve more to justifying the separation of simulation/computation from plotting than justifying plotting inside TeX. For example, I might well use one large script to do the simulation and get raw data, and use another small python script for plotting. I can also reuse the latter script for any future plotting tasks, to make my plots more consistent. Collaboration will also not be a problem as long as they also have python installed.
        – Junnan
        2 days ago






      • 1




        Well, yes and no. In the moment you are deciding what data to present you are often not in the position to know how it will be type set. You might have some simulation results and you are writing a paper and then you have to compose a poster, some slides or both. In this case you have to change your plots accordingly, since generally posters and slides use different font, have different requirements in presentation, since the audience perceives your work differently, so some line styles, arrangements and font sizes might not work in these cases. These adaptions should be handled by TeX.
        – Labello
        2 days ago













      up vote
      9
      down vote










      up vote
      9
      down vote









      Welcome to TeX.SE! I think there is not a default answer to your question per se. It more likely depends on the fact how you perceive TeX itself. If you merely view it as a system to format your text and structure your document, you are very likely to adopt the workflow to generate plots using your programming language than a system that it tightly integrated with TeX.



      The viewpoint I, as a PhD student in signal processing, usually take instead is the following: I use TeX as a means of formatting and presenting my whole work and results in an appropriate fashion. This means that not only to I typeset my thoughts and arguments in TeX but also the simulation results and visualizations I can come up with.



      That being said, I usually proceed the following way when it comes to plots:




      1. I write a whole bunch of simulation scripts that usually produce several MB of files containing some multidimensional simulation results and their parameters. These scripts tend to take very long computation wise and generate a whole bunch of data.

      2. I write an a lot smaller script that does the simulation data processing and this script produces two things. First it produces some very ugly plots, which only serve me as means of quickly debugging the data and the simulations in 1. And second at least one *.csv file, which usually only is a few KB only containing the data and parameters I actually want to plot. This can stem from averaging or applying some other kind of statistics to the data from 1.

      3. I use this *.csv file to generate plots using PGF by loading the data from it, which I can easily plug into a poster template, a beamer template or a paper template and a nicely composed selection of macros and color schemes make everything look very integrated with the rest of the document at hand.


      What are the advantages of this approach you might ask and very rightfully so, since it seems to introduce one additional layer of complexity. The reasons for me doing this are in ascending order of importance




      1. It makes simulation data analysis more transparent, since it separates data generation from data evaluation.

      2. It makes my workflow more flexible, since the separation of simulation and evaluation allows one of the two to change without affecting the other. Especially when simulations take long, it is of tremendous value that the post-processing is decoupled from them.

      3. It forces me to think about the data structures within my simulation, which results in a more structured workflow itself.

      4. The decoupling of the post-processing (generating the *.csv-files) from the plotting yields again a more flexible workflow. After having generate all the data you need, you never ever have to touch it. It is just there and you can focus in TeX on the visualization.

      5. All data visualization parameters, so the parameters of your plots are at one place – in the TeX code – making it easier not to loose your mind.


      Summarizing, it simply gives you more freedom, while also enforcing a more streamlined but structured workflow and puts things where they should be (IMHO), since programming is for data generation and TeX is amazing at making things look beautiful! :-)



      EDIT: When collaborating with others it also is of tremendous value. If you only hand out raw or processed simulation results (which you can handle with git or any other similar tool quite nicely), you make it easier for others to modify the presentation of the data, since they do not need to run any code external to TeX to get things going.






      share|improve this answer














      Welcome to TeX.SE! I think there is not a default answer to your question per se. It more likely depends on the fact how you perceive TeX itself. If you merely view it as a system to format your text and structure your document, you are very likely to adopt the workflow to generate plots using your programming language than a system that it tightly integrated with TeX.



      The viewpoint I, as a PhD student in signal processing, usually take instead is the following: I use TeX as a means of formatting and presenting my whole work and results in an appropriate fashion. This means that not only to I typeset my thoughts and arguments in TeX but also the simulation results and visualizations I can come up with.



      That being said, I usually proceed the following way when it comes to plots:




      1. I write a whole bunch of simulation scripts that usually produce several MB of files containing some multidimensional simulation results and their parameters. These scripts tend to take very long computation wise and generate a whole bunch of data.

      2. I write an a lot smaller script that does the simulation data processing and this script produces two things. First it produces some very ugly plots, which only serve me as means of quickly debugging the data and the simulations in 1. And second at least one *.csv file, which usually only is a few KB only containing the data and parameters I actually want to plot. This can stem from averaging or applying some other kind of statistics to the data from 1.

      3. I use this *.csv file to generate plots using PGF by loading the data from it, which I can easily plug into a poster template, a beamer template or a paper template and a nicely composed selection of macros and color schemes make everything look very integrated with the rest of the document at hand.


      What are the advantages of this approach you might ask and very rightfully so, since it seems to introduce one additional layer of complexity. The reasons for me doing this are in ascending order of importance




      1. It makes simulation data analysis more transparent, since it separates data generation from data evaluation.

      2. It makes my workflow more flexible, since the separation of simulation and evaluation allows one of the two to change without affecting the other. Especially when simulations take long, it is of tremendous value that the post-processing is decoupled from them.

      3. It forces me to think about the data structures within my simulation, which results in a more structured workflow itself.

      4. The decoupling of the post-processing (generating the *.csv-files) from the plotting yields again a more flexible workflow. After having generate all the data you need, you never ever have to touch it. It is just there and you can focus in TeX on the visualization.

      5. All data visualization parameters, so the parameters of your plots are at one place – in the TeX code – making it easier not to loose your mind.


      Summarizing, it simply gives you more freedom, while also enforcing a more streamlined but structured workflow and puts things where they should be (IMHO), since programming is for data generation and TeX is amazing at making things look beautiful! :-)



      EDIT: When collaborating with others it also is of tremendous value. If you only hand out raw or processed simulation results (which you can handle with git or any other similar tool quite nicely), you make it easier for others to modify the presentation of the data, since they do not need to run any code external to TeX to get things going.







      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited 2 days ago

























      answered 2 days ago









      Labello

      1764




      1764








      • 1




        Thanks for offering a new perspective. However, I think most of your points serve more to justifying the separation of simulation/computation from plotting than justifying plotting inside TeX. For example, I might well use one large script to do the simulation and get raw data, and use another small python script for plotting. I can also reuse the latter script for any future plotting tasks, to make my plots more consistent. Collaboration will also not be a problem as long as they also have python installed.
        – Junnan
        2 days ago






      • 1




        Well, yes and no. In the moment you are deciding what data to present you are often not in the position to know how it will be type set. You might have some simulation results and you are writing a paper and then you have to compose a poster, some slides or both. In this case you have to change your plots accordingly, since generally posters and slides use different font, have different requirements in presentation, since the audience perceives your work differently, so some line styles, arrangements and font sizes might not work in these cases. These adaptions should be handled by TeX.
        – Labello
        2 days ago














      • 1




        Thanks for offering a new perspective. However, I think most of your points serve more to justifying the separation of simulation/computation from plotting than justifying plotting inside TeX. For example, I might well use one large script to do the simulation and get raw data, and use another small python script for plotting. I can also reuse the latter script for any future plotting tasks, to make my plots more consistent. Collaboration will also not be a problem as long as they also have python installed.
        – Junnan
        2 days ago






      • 1




        Well, yes and no. In the moment you are deciding what data to present you are often not in the position to know how it will be type set. You might have some simulation results and you are writing a paper and then you have to compose a poster, some slides or both. In this case you have to change your plots accordingly, since generally posters and slides use different font, have different requirements in presentation, since the audience perceives your work differently, so some line styles, arrangements and font sizes might not work in these cases. These adaptions should be handled by TeX.
        – Labello
        2 days ago








      1




      1




      Thanks for offering a new perspective. However, I think most of your points serve more to justifying the separation of simulation/computation from plotting than justifying plotting inside TeX. For example, I might well use one large script to do the simulation and get raw data, and use another small python script for plotting. I can also reuse the latter script for any future plotting tasks, to make my plots more consistent. Collaboration will also not be a problem as long as they also have python installed.
      – Junnan
      2 days ago




      Thanks for offering a new perspective. However, I think most of your points serve more to justifying the separation of simulation/computation from plotting than justifying plotting inside TeX. For example, I might well use one large script to do the simulation and get raw data, and use another small python script for plotting. I can also reuse the latter script for any future plotting tasks, to make my plots more consistent. Collaboration will also not be a problem as long as they also have python installed.
      – Junnan
      2 days ago




      1




      1




      Well, yes and no. In the moment you are deciding what data to present you are often not in the position to know how it will be type set. You might have some simulation results and you are writing a paper and then you have to compose a poster, some slides or both. In this case you have to change your plots accordingly, since generally posters and slides use different font, have different requirements in presentation, since the audience perceives your work differently, so some line styles, arrangements and font sizes might not work in these cases. These adaptions should be handled by TeX.
      – Labello
      2 days ago




      Well, yes and no. In the moment you are deciding what data to present you are often not in the position to know how it will be type set. You might have some simulation results and you are writing a paper and then you have to compose a poster, some slides or both. In this case you have to change your plots accordingly, since generally posters and slides use different font, have different requirements in presentation, since the audience perceives your work differently, so some line styles, arrangements and font sizes might not work in these cases. These adaptions should be handled by TeX.
      – Labello
      2 days ago










      up vote
      6
      down vote













      The main reason is to match the text, as you already said, but also the arrow tips or other similar symbols.



      Another reason (valid in my case) is "not to have another tool for plotting graphs available".






      share|improve this answer

























        up vote
        6
        down vote













        The main reason is to match the text, as you already said, but also the arrow tips or other similar symbols.



        Another reason (valid in my case) is "not to have another tool for plotting graphs available".






        share|improve this answer























          up vote
          6
          down vote










          up vote
          6
          down vote









          The main reason is to match the text, as you already said, but also the arrow tips or other similar symbols.



          Another reason (valid in my case) is "not to have another tool for plotting graphs available".






          share|improve this answer












          The main reason is to match the text, as you already said, but also the arrow tips or other similar symbols.



          Another reason (valid in my case) is "not to have another tool for plotting graphs available".







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 2 days ago









          CarLaTeX

          27.2k445118




          27.2k445118






















              up vote
              3
              down vote













              PGFPlots has quite a few advantages. It does not only provide pretty graphs and tables, but also a bit of handling of data (csv reader, and a possiblity to embed the data direct in the document), such that you're sure that your tables and plots always show the same data. It also can calculate regressions and a lot more (see their examples gallery).



              It is one nice way to do such things.




              It also mentioned that no other plotting packages from R or python can generate graphs that have the same high image quality as those generated by pgfplots in LaTeX directly, but no examples or reasons were given. Is there evidence to back up this claim?




              No. I created nice looking documents by embedding PDF/EPS generated with gnuplot and matplotlib (python). Some of them look more modern than pgfplots tables. Still it requires a bit more complicated build process (I use makefiles for this) and more experimenting until everything matches, padding and margin are nice and the fonts look the same.



              PGFPlots is "just" a LaTeX package and follows the same philosophy, that you should not need to handle the details, but just provide the data and it will produce something nice looking.



              For other functions of PGFPlots and TikZ than tables and plots I often prefer using SVGs (use inkscape for high-quality PDF export). They are not automatically generated, but you have more control over the look without using many TeX commands.






              share|improve this answer

























                up vote
                3
                down vote













                PGFPlots has quite a few advantages. It does not only provide pretty graphs and tables, but also a bit of handling of data (csv reader, and a possiblity to embed the data direct in the document), such that you're sure that your tables and plots always show the same data. It also can calculate regressions and a lot more (see their examples gallery).



                It is one nice way to do such things.




                It also mentioned that no other plotting packages from R or python can generate graphs that have the same high image quality as those generated by pgfplots in LaTeX directly, but no examples or reasons were given. Is there evidence to back up this claim?




                No. I created nice looking documents by embedding PDF/EPS generated with gnuplot and matplotlib (python). Some of them look more modern than pgfplots tables. Still it requires a bit more complicated build process (I use makefiles for this) and more experimenting until everything matches, padding and margin are nice and the fonts look the same.



                PGFPlots is "just" a LaTeX package and follows the same philosophy, that you should not need to handle the details, but just provide the data and it will produce something nice looking.



                For other functions of PGFPlots and TikZ than tables and plots I often prefer using SVGs (use inkscape for high-quality PDF export). They are not automatically generated, but you have more control over the look without using many TeX commands.






                share|improve this answer























                  up vote
                  3
                  down vote










                  up vote
                  3
                  down vote









                  PGFPlots has quite a few advantages. It does not only provide pretty graphs and tables, but also a bit of handling of data (csv reader, and a possiblity to embed the data direct in the document), such that you're sure that your tables and plots always show the same data. It also can calculate regressions and a lot more (see their examples gallery).



                  It is one nice way to do such things.




                  It also mentioned that no other plotting packages from R or python can generate graphs that have the same high image quality as those generated by pgfplots in LaTeX directly, but no examples or reasons were given. Is there evidence to back up this claim?




                  No. I created nice looking documents by embedding PDF/EPS generated with gnuplot and matplotlib (python). Some of them look more modern than pgfplots tables. Still it requires a bit more complicated build process (I use makefiles for this) and more experimenting until everything matches, padding and margin are nice and the fonts look the same.



                  PGFPlots is "just" a LaTeX package and follows the same philosophy, that you should not need to handle the details, but just provide the data and it will produce something nice looking.



                  For other functions of PGFPlots and TikZ than tables and plots I often prefer using SVGs (use inkscape for high-quality PDF export). They are not automatically generated, but you have more control over the look without using many TeX commands.






                  share|improve this answer












                  PGFPlots has quite a few advantages. It does not only provide pretty graphs and tables, but also a bit of handling of data (csv reader, and a possiblity to embed the data direct in the document), such that you're sure that your tables and plots always show the same data. It also can calculate regressions and a lot more (see their examples gallery).



                  It is one nice way to do such things.




                  It also mentioned that no other plotting packages from R or python can generate graphs that have the same high image quality as those generated by pgfplots in LaTeX directly, but no examples or reasons were given. Is there evidence to back up this claim?




                  No. I created nice looking documents by embedding PDF/EPS generated with gnuplot and matplotlib (python). Some of them look more modern than pgfplots tables. Still it requires a bit more complicated build process (I use makefiles for this) and more experimenting until everything matches, padding and margin are nice and the fonts look the same.



                  PGFPlots is "just" a LaTeX package and follows the same philosophy, that you should not need to handle the details, but just provide the data and it will produce something nice looking.



                  For other functions of PGFPlots and TikZ than tables and plots I often prefer using SVGs (use inkscape for high-quality PDF export). They are not automatically generated, but you have more control over the look without using many TeX commands.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 2 days ago









                  allo

                  1384




                  1384






















                      Junnan is a new contributor. Be nice, and check out our Code of Conduct.










                       

                      draft saved


                      draft discarded


















                      Junnan is a new contributor. Be nice, and check out our Code of Conduct.













                      Junnan is a new contributor. Be nice, and check out our Code of Conduct.












                      Junnan is a new contributor. Be nice, and check out our Code of Conduct.















                       


                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f459883%2fwhat-are-the-benefits-of-pgfplots-tikz-compared-to-importing-pdf%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      AnyDesk - Fatal Program Failure

                      How to calibrate 16:9 built-in touch-screen to a 4:3 resolution?

                      QoS: MAC-Priority for clients behind a repeater