反转图p

2024-09-27 21:34:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用Python的matplotlib绘制一个图。我想要绘制的数据是 the data

我试图绘制y_i关于ttx轴和y_iy轴),但不知怎么的,我最终得到了这个图, graph image here

你可以看到它有点不对劲,我们都知道它(当我们沿着y轴向上走的时候,这个数字是越来越低而不是越来越高)。这个图应该有负斜率,我该如何修正它(感谢所有的帮助)

这是我的密码:

import matplotlib.pyplot as plt
import pandas as pd

e = 2.71828183
k = -0.043594
C = 100
h = 5

def y(t):
    y = C*(e**(k*t))
    return y

def f(Y):
    f = k*Y
    return f

def y_i(Y, F):
    y_i = Y + h*F
    return y_i

#Y = y(x)    
#F = f(Y)
data_luruh = {}
data_luruh['t'] = [x for x in range(0, 101, 5)]
data_luruh['y'] = [y(x) for x in range(0, 101, 5)]
data_luruh['y_i'] = [0 for x in range(0, 101, 5)]
data_luruh['g'] = [0 for x in range(0, 101, 5)]

data_luruh['y_i'][0] = 'NA'
data_luruh['g'][0] = 'NA'

a = 1
while a <= 20:
    data_luruh['y_i'][a] = y_i(y((a-1)*5), f(y((a-1)*5)))
    data_luruh['g'][a] = data_luruh['y'][a] - data_luruh['y_i'][a]
    a += 1

df = pd.DataFrame(data=data_luruh)
print(df)

t_data = data_luruh['t']
y_data = data_luruh['y']
yi_data = data_luruh['y_i']

plt.xlabel('t')
plt.plot(data_luruh['y_i'], 'go')
plt.show()

Tags: inimportdffordatareturnmatplotlibdef
2条回答

不要对缺少的值使用"NA":它是一个字符串,会导致其他值也被解释为一个字符串。相反,将行改为

import numpy as np
data_luruh['y_i'][0] = np.nan
data_luruh['g'][0] = np.nan

给予

graph with negative slope

如果将NA添加为字符串,则整个数据列将被视为object(字符串的numpy类型)列。因此,y列将按字典顺序排序

相反,使用np.nan,它在内部被视为一个数字:

import numpy as np

data_luruh['y_i'][0] = np.nan
data_luruh['g'][0] = np.nan

相关问题 更多 >

    热门问题