我正在完成论文的图表并决定(在讨论stats.stackoverflow之后),为了传递尽可能多的信息,创建下面的图表,在前景中呈现手段和在后台原始数据:

然而,仍然存在一个问题,那就是过度绘图.例如,标记点看起来像是反映了一个数据点,但事实上在该位置存在5个具有相同值的数据点.
因此,我想知道是否有办法应对overplotting base graph使用points的功能.
如果相应的点变得更暗或更厚,或者......,那将是理想的.
手动做它不是一个选择(太多的图形和点这样).此外,ggplot2也不是我想学习处理这个单一问题的原因(一个原因是我倾向于喜欢双轴不支持的ggplot2).
更新:我写了一个函数,它自动创建上面的图形,并通过添加垂直或水平抖动(或两者)来避免过度绘制:检查出来!
此功能现已作为raw.means.plot与raw.means.plot2在plotrix封装(上CRAN).
假设我有一个从数据集生成的不规则随机形状.如何找到位于形状边界上的点?
我正在使用R. R中是否有任何包用于此目的?为简单起见,假设我有一个2d的点数据集.
考虑以下很好的解决方案,找到通过4个点的曲线的立方Bézier控制点:
如何在C#中找到开始,结束和2个交叉点的BezierSegment的控制点 - AKA Cubic Bezier 4点插值
我想知道,如果Bézier曲线通过N点有一个直接的延伸,那么N> 2并且可能N≤20?
我试图以编程方式围绕圆圈绘制坐标.在这里,它是硬编码,以显示我所追求的:
var iteration = 4;
var left = [94,200,104,-6];
var top = [-6,94,200,94];
for(var i=0; i<iteration; i++){
$("#center").append("<div class='point' style='left:"+left[i]+"px;top:"+top[i]+"px'></div>");
}
Run Code Online (Sandbox Code Playgroud)
数学绝对不是我的强项.
我需要将人们视为围绕一个大圈子的小圈子.但是,会有随机数量的人,他们都需要等距离.我不确定我是否应该从一个中心点开始工作.
给定定义n 2行的不同点的P = {p 1,...,p n },写一个算法,该算法在最坏的情况下找到具有最低斜率(最小绝对值)和时间复杂度的行.O(n*log(n))
如何使用墨卡托投影计算OpenLayers中2点之间的距离?
谢谢
OpenCV本身不提供RANSAC功能,或者至少以这种形式提供,您可以调用它并完成它(例如cv::ransac(...)).能够使用RANSAC的所有函数/方法都有一个启用它的标志.然而,如果您实际上想要在估算单应性/基本矩阵之后使用内部RANSAC计算其他内容,例如在Octave或类似软件/点库中创建一个好的绘图,则应用其他算法并不总是有用.剩余的过滤匹配等.
在匹配两个图像之后,获得匹配的矢量.与此同时,我们当然在匹配过程中使用了两组关键点(每个图像一个).使用匹配和关键点,我们创建两个点向量(例如cv::Point2f points)并将它们传递给findHomography().从这篇文章和这篇文章中我发现了如何使用掩码标记内部函数,我们传递给该函数.掩码内的每一行都与内部/异常值有关.但是我无法弄清楚如何使用我的两组点中的行索引信息.查看OpenCV的源代码并没有让我太过分.In findFundamental()(类似于findHomography()它的签名和掩码部分)它们使用compressPoints(),它似乎以某种方式将我们作为输入的两个集合(源和目标点)合并为一个.在测试以确定掩模的性质时,我尝试了2组匹配点(转换cv::Keypoints为cv::Point2f- 标准程序).每组包含300分,所以总共有600分.返回的掩码包含300行(对于此主题,值并不重要).
编辑:在写这篇文章时,我发现了答案(见下文),但决定发布这个问题,以防有人需要尽快并以紧凑的形式提供这些信息.请注意,我们仍然需要一个支持RANSAC的OpenCV功能.因此,如果您有一组点但无意计算单应性或基本矩阵,这显然不是方法,我敢说我无法在OpenCV的API中找到任何有用的东西,可以帮助避免这个障碍,因此您需要使用外部图书馆.
我们有 10000 行ages (float), titles (enum/int), scores (float), ....
因此,如果我们在一个紧密排列的集群中有 100 个点,而在远处有 1 个点,我们将得到如下三个点的结果:
或这个

对于 4 点,它会变得更有趣并在中间选择一些点。
那么如何从 N(具有任何复杂性)中选择 K 个最远的行(点)?它看起来像一个具有给定分辨率的 ND 点云“三角测量”,但不适用于 3d 点。
我为 K=200 和 N=100000 和 ND=6(可能是基于 KDTree、SOM 或三角剖分的多重网格或人工神经网络......)寻找一种相当快速的方法(近似 - 不需要精确的解决方案)。
因此,假设我在A中有10,000个点,在B中有10,000个点,并且想要找出每个B点中A中最接近的点.
目前,我只是循环遍历B和A中的每个点,以找出哪个距离最近.即.
B = [(.5, 1, 1), (1, .1, 1), (1, 1, .2)]
A = [(1, 1, .3), (1, 0, 1), (.4, 1, 1)]
C = {}
for bp in B:
closestDist = -1
for ap in A:
dist = sum(((bp[0]-ap[0])**2, (bp[1]-ap[1])**2, (bp[2]-ap[2])**2))
if(closestDist > dist or closestDist == -1):
C[bp] = ap
closestDist = dist
print C
Run Code Online (Sandbox Code Playgroud)
但是,我确信有更快的方法来做到这一点......任何想法?
给定一组2D点,我该如何应用相反的undistortPoints?
我有相机内在的,distCoeffs并且想(例如)创建一个正方形,并扭曲它,好像相机已通过镜头观看它.
我在这里找到了一个'扭曲'补丁:http://code.opencv.org/issues/1387但它似乎只对图像有用,我想在稀疏点上工作.