0
我想绘制一个对数正态分布,所以我可以使用下面的代码将其与我的示例数据的直方图进行比较,但是我的绘图看起来不正确。有没有我的代码,我不正确做的东西? C数组具有17576绘制一个对数正态分布
import matplotlib.pyplot as plt
import numpy as np
data=np.loadtxt(F)
C=data[:,3]
x = np.ma.log(C)
avg = np.mean(x)
std = np.std(x)
dist=lognorm(std,loc=avg)
plt.plot(C,dist.pdf(C),'r')
plt.show()
这样做谢谢!你能解释为什么数据需要排序吗? – Surfcast23 2012-08-14 20:12:51
绘图函数基本上在x和y数据上循环,并在'相邻'点(其中“相邻”指输入数组中的位置,而不是xy平面)之间画线。如果数据没有排序,那么您可以以任意方式“连接点”。另一方面,对数据进行排序,将图中从左到右的点连接起来。这通常是你想要的正常功能 – ChrisB 2012-08-14 20:19:38
啊,我不知道这是如何绘图功能的工作。谢谢你的解释 – Surfcast23 2012-08-14 20:56:46