Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

How to plot a graph with own data created by a (for) loop?

Before I worked with predefined data sets, this time I decided to create my own. This led me to a problem with plotting a graph with variable n and S_T. Based on a defined S_T which is a strike price and n number of observations I created a for loop with the following conditions.

I want my loop to work in the range (0,n) when S_T exceeds 169 then return 1000, when S_T is between 84.5 and 169 use the formula, when it’s less then 84.5 return 0

I want to check if S_T‘s starting at 139 follows the condition and print the result. Then S_T=140 check and print result etc.

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

Which gives correct results: (0,0,0,….,1000,1000). However, If I want to plot both values, I don’t see the desired result.

My question is: How to do it correctly, is the answer related to storying data in DataDrame? How to store all of the results from S_T that would produce a valid graph?

My code:

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

S_T = 139
n = 300 

for S_T in range(0,n):
if S_T > 169:
    print(1000)
elif 84.5 < S_T <169:
    print(1000-max(0,1000*(169/S_T -1)))
else: print(0)
S_T += 1 

plt.plot(n,S_T);
plt.xlabel('Number of iterations')
plt.ylabel('ICON');
print(S_T)
300

Which is a mistake, I would like to print every value

What the code produces:
https://i.stack.imgur.com/kFBOG.png

>Solution :

i don’t really understand what you want to do in your for loop but you can just use 2 lists for your desired x and y values like so:

import plotly.graph_objects as go
x = []
y = []
for i in range(start, end):
    if i > some value:
        x.append(do something with i)
        y.append(do something with i)
    else:
        x.append(do something else with i)
        y.append(do something else with i)
fig = go.Scatter(x=x, y=y)
fig.show()
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading