Power Chart adjusting the Y axis to accommodate your data range

I am having an issue with my power chart component in perspective. I have a data set ranging from (1 * 10^-9 - to about 800). This range of values is displayed on the image shown.

As you can see the very small values are displaying within my ideal range (the green rectangle). However those red straight lines going up are linked to values such as 100-800 on the y axis.

Is there a way to to better format the scaling of the y axis? Do I have to do some data processing?

I have tried to adjust the min, max, tick count values it seems the scaling is off and the component doesn't display the expected behavior.

Also, if you noticed I started my min value as negative because the data wouldn't show other wise.

Thank You

Are those values that shoot above 0.1 valid...or just noise in your data? If noise, then you need to loop through your data and filter (set to None) those data points that exceed some arbitrary threshold. The None will cause gaps in the line, but you will know that it was invalid data.

Yes, they are valid datasets, the true expected range is the one mentioned before.

I was thinking maybe the range is too large and maybe I need to find a better way to display this. Example, cleaning the data and displaying the high values somewhere else.

Try a logarithmic scale:

It would accomodate both your large and small values, as long as you're careful setting the range:

2 Likes

I am using the power chart, I don't think there is an option for log scale. I believe the XY chart has that option.

I believe you're correct. I suppose you could log transform your data in a separate tag to be able to use the power chart, but then your axes labels would be off.

Personally, I switched over to the XY chart because of little issues like this, although it means a lot of reinventing the wheel there's also a lot more control.

1 Like

Is it possible to convert the values in the power chart to log using jython?

Not as such, the powerchart only lets you grab historical tags with no way to change that data (besides the built-in aggregation modes) as far as I know.

The best you could do with a powerchart would be to create a derived tag with your desired transformation and historize that but you'll agree it's kind of a terrible hack.

1 Like

Yes, it seems it would cause performance issues.

In my database I managed to convert my values into a log scale before they are served into the ignition component and it seems to display the data better.

So now on my y axis the data shows better and is scaled well in the power chart component. (see attached image)

I do want to represent the actually values and not their log equivalents, is there some sort of conversion that is possible, or maybe secondary axis.

I am thinking if I do attempt any of this I will end up back at square one with the same issue.

thoughts?

Thanks

Just wanted to share a solution which is to convert your data into a log scale in your DB. Then use the marker tool in plot, to plot several points on your log scale but have them represent your non log scale values, so the data has meaning .

1 Like

I hope IA adds more functionality to the power chart down the line so we don't have to resort to these kind of workarounds.

Related feature request that would make the workaround easier:

EDIT: Changed link, the one I had linked before was easy chart, not power chart. Idea is similar.

However, it's probably best to just have the ability to choose a log axis like for XY charts. I couldn't find a feature request for it so you might want to submit one for it.

1 Like