You were very close.
See attachments.
You needed to set a BlueTooth Delimiter of 10 to receive just one complete message at a time.
You needed to only process text input if BytesAvailable > 0.
You also needed to request -1 bytes, to just get 1 complete message at a time.
Your .ino file was set up right, with a println() at the end of the message.
You were sending boiler plate text with each reading, which had to be split away from
the corresponding number for the graphing. It turned out to be easier to not split at '|',
but instead to keep the input message and pull each code one at a time as needed, using the included code procedure.
I adjusted your line draw procedure calls to receive proper values,
and eliminated all reference to the no longer needed list variable.
It's up to you to test.
ABG