# Linear Scale Indicator Label

**URL:** <https://forum.inductiveautomation.com/t/linear-scale-indicator-label/84731>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [January 24, 2024, 8:36pm UTC](https://forum.inductiveautomation.com/t/linear-scale-indicator-label/84731 "2024-01-24T20:36:38Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![MSI\_EXP\_Auto](https://avatars.discourse-cdn.com/v4/letter/m/fbc32d/32.png) [@MSI\_EXP\_Auto](https://forum.inductiveautomation.com/u/MSI_EXP_Auto)\
**Post date:** [January 24, 2024, 8:36pm UTC](https://forum.inductiveautomation.com/t/linear-scale-indicator-label/84731/1 "2024-01-24T20:36:38Z")

</div>

Any way to move the Indicator labels on a Linear scale? I am not seeing an option but I have missed these sorts of things before.

I would like it to show something like this -

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/0/9/09b0b84fbd23ac330da76b1b4f0ad71b6942f5c3.png)  
Right now my indicator labels sit in awkward positions -  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/2/8/28b96188414dc3f9cce8aa348d2aedc4f7d1fb85.png)

If not any other ideas to accomplish?

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [January 24, 2024, 8:47pm UTC](https://forum.inductiveautomation.com/t/linear-scale-indicator-label/84731/2 "2024-01-24T20:47:46Z")

</div>

Please post the component configuration. (I can't replicate what you've shown.) In the Project Browser, right-click on the Linear Scale component, copy, paste it in here, select the code block and press the \</\> formatting button.

---

<div class="post-metadata">

**Author:** ![MSI\_EXP\_Auto](https://avatars.discourse-cdn.com/v4/letter/m/fbc32d/32.png) [@MSI\_EXP\_Auto](https://forum.inductiveautomation.com/u/MSI_EXP_Auto)\
**Post date:** [January 24, 2024, 9:25pm UTC](https://forum.inductiveautomation.com/t/linear-scale-indicator-label/84731/3 "2024-01-24T21:25:12Z")

</div>

```auto
[
  {
    "type": "ia.display.linear-scale",
    "version": 0,
    "props": {
      "majorTicks": {
        "color": "#FFFFFF"
      },
      "minorTicks": {
        "length": 0
      },
      "fineTicks": {
        "span": 0
      },
      "labels": {
        "angle": 270
      },
      "indicators": [
        {
          "value": 0,
          "labelColor": "#000000",
          "labelAngle": 270,
          "color": "#44789c",
          "stroke": 4,
          "opacity": 0.5,
          "length": 25,
          "indicatorStyle": "range"
        },
        {
          "value": 0,
          "labelColor": "#000000",
          "labelAngle": 270,
          "color": "#8AFF8A",
          "stroke": 1.5,
          "opacity": 1,
          "length": 10,
          "indicatorStyle": "range"
        },
        {
          "label": "",
          "labelColor": "",
          "labelAngle": 0,
          "color": "",
          "stroke": 1,
          "opacity": 1,
          "length": 25,
          "indicatorStyle": "wedge",
          "extent": 200
        }
      ]
    },
    "meta": {
      "name": "LinearScale"
    },
    "position": {
      "x": 0.0221,
      "y": 0.2976,
      "height": 0.6324,
      "width": 0.9259
    },
    "custom": {},
    "propConfig": {
      "props.indicators[0].extent": {
        "binding": {
          "type": "property",
          "config": {
            "path": "view.params.Current_Unit_Count"
          }
        }
      },
      "props.indicators[1].extent": {
        "binding": {
          "type": "expr",
          "config": {
            "expression": "({view.params.Units_Expected}/{view.params.Expected_Shift_Duration})*{view.params.Current_Shift_Duration}"
          }
        }
      },
      "props.indicators[2].value": {
        "binding": {
          "type": "property",
          "config": {
            "path": "view.params.Units_Expected"
          }
        }
      },
      "props.majorTicks.span": {
        "binding": {
          "type": "expr",
          "config": {
            "expression": "round(8*{this.props.maxValue}/9)"
          }
        }
      },
      "props.maxValue": {
        "binding": {
          "type": "expr",
          "config": {
            "expression": "{view.params.Units_Expected} * 1.2"
          },
          "transforms": [
            {
              "code": "\tvalue = round(value,-3)\n\tvalue = int(1000 * round(value/1000.))\n\tvalue = value + value/8\n\treturn value",
              "type": "script"
            }
          ]
        }
      },
      "props.minorTicks.span": {
        "binding": {
          "config": {
            "expression": "{this.props.majorTicks.span}/4"
          },
          "type": "expr"
        }
      },
      "props.indicators[0].label": {
        "binding": {
          "type": "expr",
          "config": {
            "expression": "tostr({view.params.Current_Unit_Count})"
          }
        }
      },
      "props.indicators[1].label": {
        "binding": {
          "type": "expr",
          "config": {
            "expression": "tostr(({view.params.Units_Expected}/{view.params.Expected_Shift_Duration})*{view.params.Current_Shift_Duration})"
          }
        }
      }
    },
    "events": {
      "dom": {
        "onDoubleClick": {
          "config": {
            "draggable": true,
            "id": "92JQ1I7b",
            "modal": true,
            "overlayDismiss": true,
            "position": {
              "relativeLocation": "center"
            },
            "positionType": "relative",
            "resizable": true,
            "showCloseIcon": true,
            "title": "Progress Bar",
            "type": "open",
            "viewParams": {
              "Message": " "
            },
            "viewPath": "Templates/Popup",
            "viewportBound": false
          },
          "scope": "C",
          "type": "popup"
        }
      }
    }
  }
]

```

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [January 24, 2024, 11:54pm UTC](https://forum.inductiveautomation.com/t/linear-scale-indicator-label/84731/4 "2024-01-24T23:54:14Z")

</div>

I think your Linear Scale has become corrupt.

 ![Corrupt linear scale](https://us1.discourse-cdn.com/inductiveautomation/original/3X/3/1/31536802428acb30e6c72eb9dc39447b189ca7c0.png)

There shouldn't be a transform section in `props.maxValue` and it doesn't show up in the Perspective Property Editor so you can't edit it out there.

Test:  
Paste the JSON into your favourite editor, delete that section and the proceeding comma. Then select all, copy and paste it into the view.

---

<div class="post-metadata">

**Author:** ![MSI\_EXP\_Auto](https://avatars.discourse-cdn.com/v4/letter/m/fbc32d/32.png) [@MSI\_EXP\_Auto](https://forum.inductiveautomation.com/u/MSI_EXP_Auto)\
**Post date:** [January 25, 2024, 2:11pm UTC](https://forum.inductiveautomation.com/t/linear-scale-indicator-label/84731/5 "2024-01-25T14:11:23Z")

</div>

That transform is working for me and is editable in my perspective editor, I am using it for the python round function. I'm not really concerned with that part it will be changed, mainly just trying to move those labels. The scale is still working as expected for me, just not what is desired.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/7/e/7ef9f5f4a46e09d0f9ab675053fe754fab001b82.png)

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [January 25, 2024, 2:13pm UTC](https://forum.inductiveautomation.com/t/linear-scale-indicator-label/84731/6 "2024-01-25T14:13:30Z")

</div>

OK, my mistake. I expected that to be elsewhere in the JSON.

I spent a while looking at it for you but don't have any other suggestions other than recreating the thing from scratch and pasting in the bindings one at a time.
