This part I cant do for sure. I just dont know how to make a moveable resizeable window and Id also like color change options and transparency but again know nothing on that
I haven't played with the scrollbars much, but the one time I used one (in TransportMap) I basically rolled my own. Used the scrollbar to figure out what to display in the window area, and displayed that portion. You could do the same kind of thing for the threat graph window. Just display the portion of the data you want.
As for transparency and color. Change the textures used so that they are pure white instead of red (graph background) and yellow (the line). Then in the code, change the *

etColor() calls to use the red,green, and blue color components you want (parameters are in that order, values are between 0 and 1 inclusive). Change the *

etAlpha() calls to something other than 1.0 to get transparency. 0 is fully transparent, 1.0 is fully opaque, 0.5 would be half transparent etc.
Edit:
Don't change the transparency and color of the actual frame used, just the textures. If you change the transparency on the frame itself, this will also affect the textures (which might be what you want, but probably better to just do the textures)
I have a threat meter with a small single bar to monitor just my threat Id like to use this to make my graph
Currently you account for 20 calls of data on your graph and up to 255 locational points. A line graph only needs only 1 data and 100 locational points. With math I can turn 100% into a number between 1 and 255 or I can just change your graphs code to allow for 1 - 100 making it smaller but
How do I store 20 sets of updates and then call them as the data for the graph? would I use an array? can I call data from one addon and use it in another?
Use an array to store the data. You could have much more than 20 data points, I used 20 simply because I didn't want to type in more random numbers (it's just an example after all).
The display size I used in this example was 256 by 256. I got lazy and made the data points values from 1 to 255 so that I could easily see if the graph was displaying correctly. There really isn't anything magical about those values.
As to sharing data between add-ons, well yes you could do that, but far better to incorporate the algorithm into your own code. This way you can create a function to display the data in any fashion you wish.