我正在为此读取一个.dat文件,并且试图绘制高斯概率分布。它曾经绘制过(尽管不是我想要的),但是当我在VS中运行它时,它不再绘制。请帮忙!
#!/usr/bin/env python
import matplotlib
import numpy as np
from matplotlib.backends.backend_pdf import PdfPages
import matplotlib.pyplot as plt
data = np.loadtxt('positionVSMeanSquareOutput.dat')
dataProb = np.loadtxt('positionVSProbabilityOutput2.dat')
time = data[:, 0] + 1
MSDth = time #<x^2> analytical
MSDnum = data[:, 1] #<x^2> numerical / computer simulated
MSDerr = data[:, 3] #error bar of <x^2>
Fsq1 = data[:, 4] #F_s(q1,x(t))
Fsq1num = data[:, 10] #F_s(q1,x(t)) numerical
Fsq1err = data[:, 7] #error bar of F_s(q1,x(t))
Fsq2 = data[:, 5] #F_s(q2,x(t))
Fsq2num = data[:, 11] #F_s(q1,x(t)) numerical
Fsq2err = data[:, 8] #error bar of F_s(q2,x(t))
Fsq3 = data[:, 6] #F_s(q3,x(t))
Fsq3num = data[:, 12] #F_s(q1,x(t)) numerical
Fsq3err = data[:, 9] #error bar of F_s(q2,x(t))
xAxis = dataProb[:,0] #Probability
yAxis = dataProb[:,1]
binomDist = dataProb[:,2]
with PdfPages('positionVSMeanSquareOutput.pdf') as pdf:
# ======== PROBABILITY ==============
# TASK: To create a better plot for the distribution
fig=plt.figure()
ax.scatter(xAxis, yAxis, color='r')
ax.scatter(xAxis, binomDist, color='b')
plt.legend(loc=4)
#plt.show()
pdf.savefig()
plt.close()
答案 0 :(得分:0)
调用ax.scatter
时,ax
对象不会在任何地方初始化。
尝试将fig=plt.figure()
替换为
fig, ax = plt.subplots()