• @[email protected]
    link
    fedilink
    English
    5810 days ago

    Hot tip - export a basic plot to svg and format it in Inkscape. OBVIOUSLY DO NOT CHANGE ANYTHING THAT MODIFIES THE DATA OR RESULTS but it’s much easier to get a consistent look and feel in Inkscape than ggplot

  • @[email protected]
    link
    fedilink
    English
    3410 days ago

    R with the tidyverse package is amazing once you get over the learning curve. It’s so much easier to simply type a few lines of code then to fiddle with the Excel GUI, plus the ability to customize the plot is much, much better in R.

    Yes making a simple plot in Excel is relatively easy, but try making something evening remotely complex and it’s terrible. A box plot is a great example of this, 2 lines of plotting code in R for a basic plot but an absolute nightmare to create in Excel.

    • Tar_Alcaran
      link
      fedilink
      English
      1010 days ago

      Afaik, you can’t even make a box plot on excel without 3rd party plugins. You can maybe hack together one with a bar chart, and hiding/narrowing parts of it so that it sort of resembles a box plot if you never ever open the data.

    • @[email protected]
      link
      fedilink
      English
      1710 days ago

      Matplotlib is still a pain in the ass when you need to customize something seaborn can’t handle

      • @[email protected]
        link
        fedilink
        English
        510 days ago

        Use plotnine if you want a ggplot-like API. Matplotlib is too low level for most stuff so it needs an abstraction layer such as plotnine or seaborn. Also, I understand the original devs desire to copy Matlab plotting standards, but that language is so bad.

    • @[email protected]
      link
      fedilink
      English
      710 days ago

      Valid. I remember being very frustrated with ggplot’s documentation, only to realize they HARD CODED a plot parameter that could not be accessed. Matplotlib + Seaborn works fantastic, and I can do whatever I want without being babied by ggplot

  • @[email protected]
    link
    fedilink
    English
    2310 days ago

    the reason to make plots programmatically is typically because you’re already processing the data in python in ways that would have been too complicated if you’d do it in excel a table calculation program.

      • @[email protected]
        link
        fedilink
        English
        1310 days ago

        that is manual labor each time you run the script, while plotting in python re-makes the plot automatically.

        • @[email protected]
          link
          fedilink
          English
          310 days ago

          You could just automate the generation of the excel sheet as well - it’s really just pick your poison.

          • @[email protected]
            link
            fedilink
            English
            1210 days ago

            Having worked on a programs that automatically generate and process data from excel spreadsheets for a large company, I shuddered when you said that.

            • @[email protected]
              link
              fedilink
              English
              49 days ago

              Oh my, no the other way round, spreadsheet loads the data and let excel handle it. I think you can probably even embed python at this point. I’m not seriously advocating for this approach either, to be clear.

              • @[email protected]
                link
                fedilink
                English
                29 days ago

                This doesn’t help with reproducibility much. In fact it would make it worse as now you’re throwing windows into the mix needlessly as well as implicitly depending on excel at a point in time. Let’s not introduce more non determinism when it isn’t needed.

  • @[email protected]
    link
    fedilink
    English
    1910 days ago

    Oh this touches close to him. I got into pgfplots since it would generate plots in latex at compile time and keep fonts consistent, etc. plots looked amazing though.

    The worst was when a colleague couldn’t get a pdf to upload into a google doc, so he just made an ugly ass bar chart in excel for the final draft since that was easier. The only reason he could do that so quickly was because he could read the data so easily from the plot I made. Ugh. Still burns

  • @[email protected]
    link
    fedilink
    English
    910 days ago

    I rather use the r-base plot functions for everything in R. It is more flexible especially when you need to tweak the visuals.

    • @[email protected]
      link
      fedilink
      English
      510 days ago

      It can also be EXTREMELY long code to do something relatively simple. I bounce between base and ggplot, and use ggh4x for some oddly difficult stuff in ggplot.

  • @[email protected]
    link
    fedilink
    English
    710 days ago

    Honest question: do you think this could improve with practice? Or does the ggplot workflow necessarily makes it all slower?

    • bjorney
      link
      fedilink
      English
      2210 days ago

      It absolutely improves with practice, and once you have settled on an aesthetic you like you can simply reuse the code, e.g. store all your color/line properties in a variable and just update each figure with that variable

      My thesis had something like 30 figures, and at multiple points I had to do things like “put these all on a log scale instead” or “whoops, data on row 143,827 looks like it was transcribed wrong, need to fix it”

      While setting everything up in ggplot took a couple hours, making those changes to 30 figures in ggplot took seconds, whereas it would have taken a monumental amount of time to do manually in excel

    • @[email protected]
      link
      fedilink
      English
      11
      edit-2
      10 days ago

      Once you have figured it out, it’s actually a nice workflow. Don’t get me wrong, when I’m not publishing a paper, I quickly forget all commands, my whole setup etc. and start from scratch, cursing a lot and retracing my steps in the history, basically re-learning the framework. I’d still never move away from ggplot2.

      • @[email protected]
        link
        fedilink
        English
        19 days ago

        I agree with you. I love ggplot2. And I’m good at it. So it’s my software of choice when doing data analysis and when making graphs.

        However, I understand that there’s an upfront cost to pay to use it: learning to code, tidying data, etc…

        And beyond that, I don’t really do data analysis with spreadsheet software like Excel or LibreCalc. So I don’t know if a proficient LibreCalc user would be able to compete with a proficient ggplot2 user.

  • @[email protected]
    link
    fedilink
    English
    610 days ago

    Facet grid is a godsend, haven’t seen anything like it in Excel. However, I will admit ggplot syntax and functionality is cryptic af, so I ask chatgpt for help and it’s surprisingly accurate on this topic

    • @[email protected]
      link
      fedilink
      English
      29 days ago

      Ggplot syntax (and tidyverse syntax in general) is incredibly clear when you compare it to the alternatives. Just try to use plotly to do anything simple and it’ll take 6x the time.

      • @[email protected]
        link
        fedilink
        English
        19 days ago

        Very different. Ggplot is for plotting data using a layered approach in R. Gnuplot is more like a plotting toolkit in itself.

        Ggplot looks better with less effort typically. It’s comparable to seaborn.

  • @[email protected]
    link
    fedilink
    English
    210 days ago

    I’ve never seen a ‘publication quality’ plot that fits into the document as well as a tikz/pgf plot