'Plot graph in Python

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

'''

K = 1

Rmv = 26

SigS = 111.7

M = 2.050

N = 2

SigD = (-249.4)

def Mittelspannung():

result = [] 

Z = []

SigM = []

for i in range(1,31):
    output = 1 - pow((((i-1)*1/14.5)-1),2)
    result.append(output)
    #print(output)   

for value in range(0,15):
    C4 = (Rmv) - (result[value]) * (Rmv)
    Z.append(C4)
    print(C4)    

for value in range(15,30):                
    B11 = (SigD) - (result[value]) * (SigD)
    Z.append(B11)
    print(B11) 
      
for x in range(0,30):    
    SigMean = ((SigS**M * (1-(Z[x] + SigS)**N/(Rmv + SigS)**N))**(1/M)) / K
    SigM.append(SigMean) 
return SigM

print(Mittelspannung())

'''

I'm trying to plot the graph between 'Z' and 'SigM'. I'm getting an error. Could anyone please help in plotting the graph.



Solution 1:[1]

You didn't define Z in the function call. Depending on what tool your using, you should be able to see that in the error message, something like "Z is being used before initializing".

Solution 2:[2]

Z, SigM = Mittelspannung()
plt.figure()
plt.plot(Z, SigM)

this code will show you the error

#error

----> 1 Z, SigM = Mittelspannung()
      2 plt.figure()
      3 plt.plot(Z, SigM)

ValueError: too many values to unpack (expected 2)

// Try this one

SigM = Mittelspannung()
plt.figure()
plt.plot(SigM)

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 Gautam kumar jaiswal