Last weeks thread here

Welcome to this week’s casual kōrero thread!

This post will be pinned in this community so you can always find it, and will stay for about a week until replaced by the next one.

It’s for talking about anything that might not justify a full post. For example:

  • Something interesting that happened to you
  • Something humourous that happened to you
  • Something frustrating that happened to you
  • A quick question
  • A request for recommendations
  • Pictures of your pet
  • A picture of a cloud that kind of looks like an elephant
  • Anything else, there are no rules (except the rule)

So how’s it going?

  • Dave@lemmy.nzOPM
    link
    fedilink
    arrow-up
    5
    ·
    5 months ago

    I thought I’d better post an update about the Lemmy.nz census. I have been working on analysing the data and writing a post, but there’s probably still a while before I’ll be done. There’s quite a lot to get through.

    Also, if anyone knows any good tools for generating graphs then let me know! I’m using LibreOffice Calc as an excuse to learn how to use it, and it’s graphs aren’t that great. I can break out Excel if I have to but to be fair Excel graphs aren’t much better.

    • absGeekNZ@lemmy.nz
      link
      fedilink
      English
      arrow-up
      4
      ·
      edit-2
      5 months ago

      You could do this with python and a couple of libraries. This is just an example, but you could import the data from a DB or use a CSV file.

      import matplotlib.pyplot as plt
      import numpy as np
      
      # Pie chart data
      labels = ['Category A', 'Category B', 'Category C', 'Category D', 'Category E']
      sizes = [30, 25, 20, 15, 10]
      colors = ['#ff9999','#66b3ff','#99ff99','#ffcc99','#c2c2f0']
      
      # Pie chart
      plt.figure(figsize=(8, 8))
      plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', startangle=140)
      plt.title('Sample Pie Chart')
      plt.axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle.
      plt.show()
      
      # Histogram data
      data = np.random.normal(0, 1, 1000) # Generate 1000 random data points with a normal distribution
      
      # Histogram
      plt.figure(figsize=(10, 6))
      plt.hist(data, bins=30, color='#66b3ff', edgecolor='black')
      plt.title('Sample Histogram')
      plt.xlabel('Value')
      plt.ylabel('Frequency')
      plt.show()
      

      • Dave@lemmy.nzOPM
        link
        fedilink
        arrow-up
        2
        ·
        5 months ago

        Ooh thanks! I’ll definitely have a play with this. What’s the step before this? Is it as simple as installing python, putting the code in somefile.py, then running it?

        • absGeekNZ@lemmy.nz
          link
          fedilink
          English
          arrow-up
          3
          ·
          edit-2
          5 months ago

          Yep, if you are running any type of Linux python is already installed.

          I always have a path in my python files to allow for direct running rather than calling python first. This only works on Linux.

          If you put
          #!/usr/bin/env python3
          as the very first line, you can make the file executable and it will just run

          otherwise you will have to call python first, e.g. python yourFile.py

          • Dave@lemmy.nzOPM
            link
            fedilink
            arrow-up
            1
            ·
            5 months ago

            Awesome, thanks! I’ll have a play with this over the weekend.

    • liv@lemmy.nz
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      5 months ago

      Fudge, I forgot to complete it! I got halfway through and started having an existential crisis about my identity ha ha and thought I’ll come back later and fix this.

        • liv@lemmy.nz
          link
          fedilink
          arrow-up
          2
          ·
          5 months ago

          Thanks! Done!

          Great, I’m back to questioning my identity and I’d forgotten the other super hard question in there, dessert. 😃

          • Dave@lemmy.nzOPM
            link
            fedilink
            arrow-up
            2
            ·
            5 months ago

            Haha I copied that from the Lemmy.ca one, I thought it would be interesting to see any differences!

            If anyone else wants to do it and hasn’t had a chance, I’ll leave it open until tonight or whenever I next get back to doing the data analysis.

    • deadbeef79000@lemmy.nz
      link
      fedilink
      arrow-up
      2
      ·
      5 months ago

      Just roll with the LibreCalc charts.

      It’s the data that’s important, perfectly rendered gradients on histogram bars is less important.

      • Dave@lemmy.nzOPM
        link
        fedilink
        arrow-up
        1
        ·
        5 months ago

        Mainly I don’t like that the pie charts are hard to tell what is what. If there are 6 or 7 things and you have to tell which is which by colour, that’s a bit tricky. Labels on the sections would be better, but I haven’t worked out how to do that.

        Maybe if I think a pie chart shows it best, I’ll also include the bar chart so it’s clearer.

        • deadbeef79000@lemmy.nz
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          5 months ago

          Use a bar chart. Pie charts are for marketing and pizza.

          Also, no one cares if a bar chart sums to more than 100% ;-)

          • Dave@lemmy.nzOPM
            link
            fedilink
            arrow-up
            2
            ·
            5 months ago

            I dunno. I feel something like this works better as a pie chart.

            • deadbeef79000@lemmy.nz
              link
              fedilink
              arrow-up
              2
              ·
              5 months ago

              Pie charts tend to work when you have three to four categories, more than that they fall apart.

              The nice thing about the bar chart is the axis label which can be the raw value rather than a percentage, having a large (7-8) number of categories is still readable especially if there minority categories.

              Also, is all just my opinion, so don’t let me stop you using whatever you like!

              • Dave@lemmy.nzOPM
                link
                fedilink
                arrow-up
                2
                ·
                5 months ago

                I think pie charts are also helpful for when you have 10 categories but two of them make up 90% of the result.

                But your bar chart preference is noted, so I’ll try to make sure to include them along side pie charts 🙂

                • deadbeef79000@lemmy.nz
                  link
                  fedilink
                  arrow-up
                  2
                  ·
                  5 months ago

                  Poor data visualisation is a pet peeve of mine and I’m disproportionately vigorous when talking about it ;-)

                  Especially after a few drinks with dinner.

                  • Dave@lemmy.nzOPM
                    link
                    fedilink
                    arrow-up
                    1
                    ·
                    5 months ago

                    Haha one of my pet peves for data visualisation is graphs that don’t start at zero. I get sometimes the movement is too small to visualise properly when you start from zero, but you can’t probably understand the scale if you don’t start at zero.

                    I bet you’ll argue with me on that!

    • Lee Duna@lemmy.nz
      link
      fedilink
      English
      arrow-up
      2
      ·
      5 months ago

      I’m curious, can we have something like automation in LibreOffice? I mean like in VBA, where I can pull data and export excel charts.

      • Dave@lemmy.nzOPM
        link
        fedilink
        arrow-up
        2
        ·
        5 months ago

        LibreOffice Calc supports its own macro language as well as a subset of VBA! I recently converted an Excel macro to LibreOffice and it wasn’t too painful.