Forum Discussion

dtan's avatar
dtan
Regular Visitor
6 years ago

Scatterplot trend line does not go through data

I am adding a trend line to a scatterplot. As you can see in the attached screen shot, the line does not go through the data. I cannot figure out what is going on here. In fact, two of my colleagues have looked at this and we're all stumped.

 

Things we've tried:

  • Turning off all filters and slicers
  • Filtering out blank values
  • Filtering out values beyond the visible axes
  • Turning off all axis limits (i.e., there is no data beyond the visible axes that could be pulling the line)

The line does respond to changes in filters: if we turn filters/slicers on and off, the line will shift, but it never actually goes through the displayed data.

Are there any other things that we should look at?

 

Edit/Update:

The y-axis is on a log scale. If I change the scale to linear, the line works properly. So, This appears to be a bug. When the y-axis is changed to log, the trend line continues to be on a linear scale. Is there any way to fix this?

Screen shot of y-axis on a linear scale (same data) added for comparison.

 

Log scale:

 

Linear scale:

 

 

5 Replies

    • dtan's avatar
      dtan
      Regular Visitor

      Sure.  Here is a table of log-linear data that I created with python:

       

      xy
      11000
      2784.76
      3615.8482
      4483.293
      5379.269
      6297.6351
      7233.5721
      8183.2981
      9143.845
      10112.8838
      1188.58668
      1269.51928
      1354.55595
      1442.81332
      1533.59818
      1626.36651
      1720.69138
      1816.23777
      1912.74275
      2010

       

      When I plot this in PowerBI with y on a linear scale, the trend line is correct. When I plot with y on a log scale, the trend line no longer goes through the data.

       

      Linear scale:

       

      Log scale:

       

       

      The data were created so that the relationship is perfectly log-linear, and the line should go exactly through the datapoints. Here is a plot I made with the data in python with the y data plotted as log10(y):

       

       

       

       

      • Anonymous's avatar
        Anonymous
        Not applicable

        Hi dtan ,

        I can reproduce your scenario.
        I build a table from your sample data and add a calculated column based y column, trend line works well as the result that your python code generated.

         

        logY = LOG10([y])

         

        Regards,

        Xiaoxin Sheng

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi! I'm facing the exactly same issue here. Is there any workaround except creating a custom visual by myself?