我对编码非常陌生,我需要绘制一个在python中具有分段线性回归的图(用于课程)。基本上,我有五个数据点,并且希望有单独的线连接它们。如果有人可以帮助,将不胜感激。
(除此之外,我想知道如何编码以实现值之间的概率,例如24,33等) 这是我到目前为止的代码:
ages = [20, 30, 35, 40, 45]
probabilities = [1 / 1500, 1 / 800, 1 / 270, 1 / 100, 1 / 50]
import matplotlib.pyplot as plt
%matplotlib inline
plt.title('Maternal age affecting likelihood of having a Down Syndrome child')
plt.xlabel('$Age$')
plt.ylabel('$Probability$')
plt.scatter(ages, probabilities)
答案 0 :(得分:0)
您之所以获得积分,是因为您选择了plt.scatter()
来绘制散点图。如果您想要线条图,只需切换到plt.plot()
,例如:
import matplotlib.pyplot as plt
ages = [20, 30, 35, 40, 45]
probabilities = [1 / 1500, 1 / 800, 1 / 270, 1 / 100, 1 / 50]
plt.title('Maternal age affecting likelihood of having a Down Syndrome child')
plt.xlabel('$Age$')
plt.ylabel('$Probability$')
plt.plot(ages, probabilities)
plt.show()
屈服:
使用numpy
根据此数据进行插值非常简单。您只需运行:
import numpy as np
ages = [20, 30, 35, 40, 45]
probabilities = [1 / 1500, 1 / 800, 1 / 270, 1 / 100, 1 / 50]
prob_32 = np.interp(32, ages, probabilities) # change 32 to whatever age you want
print(prob_32)
但是这会将概率显示为.00223
而不是1/450,但是您可以说1/prob_32
以获得450号!