# Musson Industrial’s Embr-Charts Module

**URL:** <https://forum.inductiveautomation.com/t/musson-industrial-s-embr-charts-module/91618>\
**Category:** 3rd Party Modules\
**Tags:** perspective\
**Created:** [June 10, 2024, 12:53pm UTC](https://forum.inductiveautomation.com/t/musson-industrial-s-embr-charts-module/91618 "2024-06-10T12:53:46Z")\
**Posts on this page:** 1\
**Showing post:** 97

<div class="post-metadata">

**Author:** ![bmusson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bmusson/32/87530_2.png) [@bmusson](https://forum.inductiveautomation.com/u/bmusson)\
**Post date:** [February 12, 2025, 1:42am UTC](https://forum.inductiveautomation.com/t/musson-industrial-s-embr-charts-module/91618/97 "2025-02-12T01:42:35Z")

</div>

Cross linking the resolution from here.

> [@\[BUG?\] Perspective Power Chart Bug - Embr-Chart as a Replacement?](https://forum.inductiveautomation.com/t/bug-perspective-power-chart-time-series-unequal-major-gap/102084/34):
>
> Yeah, it seems like getZoomedScaleBounds() only returns the scales that have been zoomed. If you allow for panning and zooming on both axes then you'll have data for both x and y (and presumably y2 and y3 as well). Yup that's exactly it, you can't write undefined to a property. This is a good place to use JavaScript's ?? coalescing operator.

The NPE is coming from trying to assign `undefined` to a PropertyTree node, the solution is to make sure all the properties exist before writing.

---

_[View the full topic](https://forum.inductiveautomation.com/t/musson-industrial-s-embr-charts-module/91618)._
