我的问题是如何从Python中的数据框制作正态分布图。我可以找到很多信息来从随机数制作这样的图表,但我不知道如何从数据框制作它。
首先,我生成了随机数并制作了一个数据框。
import numpy as np
import pandas
from pandas import DataFrame
cv1 = np.random.normal(50, 3, 1000)
source = {"Genotype": ["CV1"]*1000, "AGW": cv1}
Cultivar_1=DataFrame(source)
Run Code Online (Sandbox Code Playgroud)
然后,我尝试制作正态分布图。
sns.kdeplot(data = Cultivar_1['AGW'])
plt.xlim([30,70])
plt.xlabel("Grain weight (mg)", size=12)
plt.ylabel("Frequency", size=12)
plt.grid(True, alpha=0.3, linestyle="--")
plt.show()
Run Code Online (Sandbox Code Playgroud)
然而,这是一个密度图,而不是使用平均值和标准差计算的正态分布图。
你能告诉我需要使用哪些代码来制作正态分布图吗?
谢谢!!
我想使用 nls 包检查非线性模型。
power<- nls(formula= agw~a*area^b, data=calibration_6, start=list(a=1, b=1))
summary(power)
Run Code Online (Sandbox Code Playgroud)
这是关于模型的参数。
它说 y= 0.85844 x^1.37629
但是,在 Excel 中(下图)。它说 y= 0.7553 x^1.419
如果我在 R 中绘制图形,则图形是相同的。为什么同一个模型产生不同的参数?
我需要更信任哪个方程式?你能回答我吗?
非常感谢。
ggplot(data=calibration_6, aes(x=area, y=agw)) +
geom_point (shape=19, color="cadetblue" ,size=2.5) +
stat_smooth(method = 'nls', formula= y~a*x^b, start = list(a = 0, b=0), se=FALSE, color="Dark Red",level=0.95) +
scale_x_continuous(breaks = seq(0,25,5),limits = c(0,25)) +
scale_y_continuous(breaks = seq(0,80,10), limits = c(0,80)) +
theme_bw() +
theme(panel.grid = element_blank())
Run Code Online (Sandbox Code Playgroud)