我按照本指南进行安装,pyenv以便管理我在 Mac 上安装的所有 Python 版本。但是,我不清楚该pyenv global 3.7.3命令的作用以及如何激活使用 Python\xc2\xa03.7 的venv 。如果我输入:
pyenv version\nRun Code Online (Sandbox Code Playgroud)\n输出:
\n3.7.3\nRun Code Online (Sandbox Code Playgroud)\n但显然这不足以激活venv。
\n我有一个代码可以保存一个数字:
savefig("foo.eps", orientation = 'portrait', format = 'eps')
Run Code Online (Sandbox Code Playgroud)
如果我没有指定anythingelse,则图形被正确保存但是当我打印它时,图形仅填充A4纸张的一半.如果我将字符串修改为:
savefig("foo.eps", papertype = 'a4', orientation = 'portrait', format = 'eps')
Run Code Online (Sandbox Code Playgroud)
什么都没有!如何以填充整张A4纸的方式设置图形的大小?提前谢谢了.
在这个讨论中,我试图解决在绘制twiny()我的情节之后绘制y轴限制的问题.我想这个:
ax.set_ylim([y.min()-0.05, y.max()+0.05])
Run Code Online (Sandbox Code Playgroud)
是个很好的解决方案.对于连续的数据集,可能也是如此.正如我在讨论中所说的,无论如何,我的数据很嘈杂,有时还有差距.所以有些绘制的范围没有数据.在这种情况下,自然地,使用.min()会引发错误:
ValueError: zero-size array to reduction operation minimum which has no identity
Run Code Online (Sandbox Code Playgroud)
因为数组是空的.如何解决它,以便代码不关心对y轴施加限制?(希望这是空数组将导致的唯一问题)
我想用错误栏绘制一些数据点.其中一些数据点只有上限或下限,而不是误差条.
所以我试图使用索引来区分带有错误栏的点和带有上限/下限的点.但是,当我尝试这样的事情时:
errorbar(x[i], y[i], yerr = (ymin[i], ymax[i]))
Run Code Online (Sandbox Code Playgroud)
我收到错误:
ValueError: In safezip, len(args[0])=1 but len(args[1])=2
Run Code Online (Sandbox Code Playgroud)
这与此处的讨论类似,但我不使用熊猫,但是,对我来说,阅读其他几个关于它的话真的很有用.
无论如何,我试图通过以下方式"扭转"错误:
errorbar(x[i], y[i], yerr = [[ymin[i], ymax[i]]], uplims = True)
Run Code Online (Sandbox Code Playgroud)
但结果图不清楚:似乎将上限和误差标绘在一起,或者上限绘制两次......
目标是在上下误差条不对称时绘制上限/下限,因此我可以在箭头前选择上限/下限的条形长度.
为了创建我使用的5个子图:
`ax = plt.subplots(5, sharex=True)`
Run Code Online (Sandbox Code Playgroud)
然后,我想删除每个y轴子图的第一个和最后一个标签刻度(因为它们相互叠加),我用过:
`plt.setp([a.get_yticklabels()[0::-1] for a in ax[0:5]], visible=False)`
Run Code Online (Sandbox Code Playgroud)
但这只是删除了一些滴答声,我不明白背后的逻辑.
我下面这个链接做我的数据集的平滑.该技术是基于除去傅立叶变换的高阶项变换的信号,所以获得平滑函数的原理.这是我的代码的一部分:
N = len(y)
y = y.astype(float) # fix issue, see below
yfft = fft(y, N)
yfft[31:] = 0.0 # set higher harmonics to zero
y_smooth = fft(yfft, N)
ax.errorbar(phase, y, yerr = err, fmt='b.', capsize=0, elinewidth=1.0)
ax.plot(phase, y_smooth/30, color='black') #arbitrary normalization, see below
Run Code Online (Sandbox Code Playgroud)
然而,有些事情不正常工作.实际上,您可以检查结果图:
蓝点是我的数据,而黑线应该是平滑的曲线.
首先,我必须y通过以下讨论转换我的数据数组.
其次,我只是随意归到比较数据的曲线,因为我不知道为什么原来的曲线有值比数据点高得多.
最重要的是,曲线就像数据点的"镜面",我不知道为什么会发生这种情况.这将是巨大的,有一些建议特别是第三点,一般多如何使用这一技术为我的特定数据集形状优化平滑.
我知道这些问题已经被问了几次,但我仍然无法得到它:我想定义一个返回多个参数的函数.
我编写了以下代码来将数据拟合到偏斜的高斯函数:
def skew(x, sigmag, mu, alpha, c, a):
normpdf = (1/(sigmag*np.sqrt(2*math.pi)))*np.exp(-(np.power((x-mu),2)/(2*np.power(sigmag,2))))
normcdf = (0.5*(1+sp.erf((alpha*((x-mu)/sigmag))/(np.sqrt(2)))))
return 2*a*normpdf*normcdf + c
popt, pcov = curve_fit(skew, xdata, ydata, p0=(5.5, 57636., 4.5, 0.0001, 0.01))
y_fit= skew(xdata, popt[0], popt[1], popt[2], popt[3], popt[4])
Run Code Online (Sandbox Code Playgroud)
但是,我的想法是获得数据分布的峰值,而不是skew函数返回的平均值作为最佳拟合值之一.因此,我需要mode分配,可以计算为最大值normpdf.
如何normpdf从定义的函数中获取并获得最大拟合数据?
我正在关注正交距离回归方法来拟合因变量和自变量的误差数据。
我用一条简单的直线拟合数据,我的模型是 y = ax + b.
现在,我可以编写代码并绘制拟合数据的线,但我无法读取结果:
Beta: [ 2.08346947 0.0024333 ]
Beta Std Error: [ 0.03654482 0.00279946]
Beta Covariance: [[ 2.06089823e-03 -9.99220260e-05]
[ -9.99220260e-05 1.20935366e-05]]
Residual Variance: 0.648029925546
Inverse Condition #: 0.011825289654
Reason(s) for Halting:
Sum of squares convergence
Run Code Online (Sandbox Code Playgroud)
这Beta只是包含我的模型参数值的数组(a, b),并且Beta Std Error相关错误。
关于其他值,我不知道它们的含义。
特别是,我想知道哪一个表示拟合优度,就像卡方一样,当一个只拟合因变量的误差时。
我想用倾斜的高斯拟合直方图。我从文本文件中获取数据:
rate, err = loadtxt('hist.dat', unpack = True)
Run Code Online (Sandbox Code Playgroud)
然后将它们绘制为直方图:
plt.hist(rate, bins= 128)
Run Code Online (Sandbox Code Playgroud)
这个直方图有一个偏斜的高斯形状,我想适合。我可以用一个简单的高斯来做到这一点,因为scipy包含了这个函数,但没有倾斜。我该如何继续?
可能返回的拟合优度测试是最好的。
我有两个相同长度的列表,我可以转换为数组以使用numpy.stats.pearsonr方法.现在,这些列表的一些元素是nan,因此不能用于该方法.在我的情况下,最好的办法是删除这些元素,以及另一个列表中的相应元素.是否有实用和pythonic的方式来做到这一点?示例:我有
[1 2 nan 4 5 6 ] 和 [1 nan 3 nan 5 6]
最后我需要
[1 5 6 ]
[1 5 6 ]
(这里的数字代表职位/指数,而不是我正在处理的实际数字).编辑:这里棘手的部分是nan在一个数组中没有s的列表/数组和在另一个数组中对应nans的元素,反之亦然.虽然它当然可以通过操作数组来完成,但我确信有一种清晰且不过于复杂的方式以pythonic方式完成它.
python ×9
matplotlib ×4
scipy ×3
numpy ×2
python-3.x ×2
arrays ×1
fft ×1
function ×1
gaussian ×1
histogram ×1
macos ×1
pyenv ×1
python-venv ×1
smoothing ×1