06-13-2024 07:37 AM
Dear All,
I have been trying since last week to find solution to use intensity graph in order to plot color intensity (z value) for X Y coordinates. X axis is time and Y axis is frequency which has range of (100 to 20,000). Now, I am able to interpolate index value of X array index (0 to 50k) in time after adding offset in the axis properties, but for Y axis there is no such relation between Y index and frequency value. I have been searching for solutions, but not able to figure it out. Finally I want to ask if what I want to do is it really possible with intensity graph or I should look for other solution?
Example : Array X (time) [10] = {1,2,3,4,5,6,7,8,9,10} ----> scaled to time{13:00:01 to 13:00:10} adding offset and changing display to time
Array Y (freq.) [10] = {226, 248,300,375,430,575,690,825,925,1200} --> 10 data points of freq. to be mapped in Y axis
Array Z (Intensity) [10]= {20, 35, 50,10,36,60,5,28,80,65} --> Z values of intensity to be mapped at (X,Y) as color intensity based on its value.
I hope it is clear what I need to do.
Thanks
06-13-2024 10:37 AM
Intensity graphs take 2D arrays and since your data is not spaced equally in the Y axis you could initialize a 2D array of sufficient size and map your data into it by changing certain elements. If Z is a known function of x and y, you can do a nonlinear fit to the model and generate data for all array values.
06-13-2024 12:20 PM
Another possibility would be e.g. one of the 3D graphs (e.g. scatter)
06-13-2024 10:55 PM
Thank you for reply.
Z is not function of x and y. In reality, I need to plot 50k data points in single graph.
How I can map Y index to its values since I only know the range in which the value would be. I mean I can't make any relation between Y index and value... Since intensity graph uses array index in Y axis, I don't understand how to scale to values...
Regards
06-14-2024 10:05 AM
@26314362 wrote:
Since intensity graph uses array index in Y axis, I don't understand how to scale to values...
For each axis you can define offset and increment. For example if you set x0=100 and dx=2, the elements will correspond to 100, 102, 104, etc.
If you would attach some typical data, we can get a better idea what you are trying to do. If you have 50k data, how many in x and y? How irregular is the spacing? How smooth is the Z surface? Can you guarantee that there are no duplicate xy points? What does the data represent?
06-18-2024 01:56 AM
Thank you again for reply and apology for delayed response.
1. X axis is defined and its absolute time with delta of 0.1 sec.
2. Y axis values ranging from 100 to 20k, and it has repeat values every 50 iteration but there is no specific relation that can be defined in context to index values. Y values will be duplicated but not xy together.
3. Z is intensity values likely to have large contrast in terms of xy indexing. So its not smooth.
I have attached sample data of 100 points. Column A,B,C are X,Y,Z.
06-18-2024 01:35 PM
So your x-axis should just have an increment of 0.1 and repeat for each Y repeat.
Your Y scale mapping could be set to logarithmic to have approximately linear mapping into points.
I assume that you probably want to start with the graph at the start of a new y ramp.
06-20-2024 12:53 AM
Let me put this way,
I get about 50k or more data points per plot.
06-20-2024 07:58 AM
As I said, the intensity graph is always a rectangular grid of values and thus require equal spacing.
If there is only one linear x-ramp (time), you don't have any second dimension. You can have unique xy pairs if the time would reset for each new Y repeat.
Do the Y repeats mean anything or could you remap the Y data into an equally spaced (in logarithmic units) linear Y ramp? (fitting, interpolation, etc.)