%用颜色表示数据密度的散点图
%
% 用法:
%out = scatplot(x,y,方法,半径,n,n,po,ms)
% out = scatplot(x,y,dd)
%
%的描述:
%用颜色刻度绘制散点图
%表示计算的数据密度
%使用三种方法
%
%输入变量:
% x,y -是数据点
% method -是用于计算数据密度的方法:
%'圈子' - 使用带有所确定的区域的圆圈
%以每个数据点为中心
%'正方形' - 使用带有所确定的区域的正方形
%以每个数据点为中心
% 'voronoi' -使用voronoi细胞来确定数据密度
%默认方法是“voronoi”
%半径 - 是用于圆圈或正方形的半径
百分比用于计算数据密度
%(注意:仅用于“圆圈”和“方块”的方法
%默认半径是√((range(x)/30)^2 + (range(y)/30)^2)
%n - 是用于的方形网格(n x n)的大小
%过滤和计算轮廓
% default是100
%n - 是2-D中使用的核心的数量
%运行平均过滤器
% default为5
%(注:如果n为length(2),则n(2)为tjhe number of
应用过滤器的倍数)
% Po - plot选项:
%0 - 没有图
%1 - 仅绘制彩色数据点(过滤)
%2 - 绘制彩色数据点和轮廓(过滤)
% 3 -只绘制有颜色的数据点(未过滤)
%4 - 绘制彩色数据点和轮廓(未过滤)
% default为1
%MS - 使用此标记大小用于填充圆圈
% default为4
%
%输出变量:
%Out-Surruction数组包含以下字段:
% dd -未经过滤的数据密度在(x,y)
%DDF - 滤波数据密度(x,y)
%Radius - 在“圈子”和“方块”中使用的区域
计算密度的%方法
%xi - x为zi矩阵坐标
%yi - y为zi矩阵坐标
(XI,YI)的%ZI - 未过滤的数据密度
(xi,yi)处的zif滤波数据密度
如上所述,%[C,H] =轮廓矩阵C.
%contourc和句柄h到contourgrom对象
%HS =分散点处理
Alex Sanchez(2021)。scatplot(//www.tatmou.com/matlabcentral/fileexchange/8577-scatpot),matlab中央文件交换。检索到。
我不明白宽度的输入应该是什么。应该是什么?
谢谢你!
与小型数据集一起工作。玩4E6点时,它非常慢。我在Matlab 2018B中引入了BINSCOTTION函数,我更好了。
遇到同样的问题
使用ksdentions> parse_args时出错(第162行)
X必须是非空向量。
你好,
当我运行这个例子时,我得到如下错误
>> x = normrnd(10,1,1);
>> Y = X * 3 + NORMRND(10,1,1000,1);
>>散射_de(双(x),双(y),'填充','Markersize',100);
使用ksdentions> parse_args时出错(第162行)
X必须是非空向量。
ksdenty错误(第114行)
[Axarg,Ydata,N,Ymin,Ymax,Xispecified,Xi,U,M,Kernelname,...
散射误差(第33行)
c = ksdensity([x,y],[x,y]);
如何解决它?
颜色栏中值是什么意思。值始终不会改变,如何更改值?
是否存在一种依赖于所谓的“定点设计师”?因为我没有这个,我不能用这个,MATLAB告诉我。依赖关系应该提前声明。
你好,
当输入不加倍时,它给出错误(例如,如果它们是单身)
我建议添加线条:
x = double(x);y =双(y);
谢谢
D.
谁能提出一个修正低密度边缘效应的方法?
你好,在应用scatplot之后有一个颜色条,颜色条在这里是什么意思?
谢谢
伟大的人!
我做了一个改变,使其在“圆圈”选项上更快地运行速度为大量点。
我不比较欧几里德距离,而不是比较方形的eucledian距离,节省了SQRT计算:
所以:
案例'ci'
对于k = 1:ld
Dd (k) = sum(√(x-x))^2 + (y-y(k)) ^2) < r;
结尾
面积=π* r ^ 2;
dd = dd /区域;
现在读:
案例'ci'
SqR = r *;
对于k = 1:ld
Dd (k) = sum((x-x(k))。^ 2 +(等号左边(k))。^2 < SqR);
结尾
面积=π* r ^ 2;
dd = dd /区域;
注意,我只需要一个平方评估,我丢弃了所有SQRT评估(W / a百万数据点,即一百万个评估)
我和咪咪、贾奥林有同样的问题。
颜色条中的0和60代表什么?在密度方面有可能吗?
是否可以更改彩色键的比例?
否则,就是我所需要的。谢谢你。
有3D图的函数吗?
谢谢
如果你有太多的数据,画起来会很费时间。
我确实的问题是阿罗林贾。我想要一个统一的颜色键分布;我可以知道如何改变这个吗?
彩色杆中的最高值始终为60,最低始终为0.如何更改?
只是我需要的!谢谢!
我使用“voronoi”方法有问题。我得到一个错误说重复的数据值被发现。但如果是“圆圈”,效果会很好。我也不能有一个彩色的plot的点与等高线。有人能帮帮我吗?
色条刻度上的数字到底是什么意思?
我喜欢gsp子函数背后的想法,它比分散更高效。我自己试过这个区域。但是使用时要小心——颜色图的顺序会影响到最后的图,当这些点挤在一起时,后面的颜色(默认的红色)会覆盖前面的颜色(默认的蓝色)。特别是如果你缩小数字,这可能会导致一个巨大的偏向(默认)红色。要测试对您的情节的影响,请尝试将循环替换为
k =大小(图1):1:1
为什么数据密度是固定的。彩色杆中的最高值始终为60,最低始终为0.如何更改?
是否有一种方法来确定输出变量中的最高密度位置?
你能向我们展示示例代码吗?
非常有用,谢谢!
我刚刚收到错误地发现并删除了重复的数据值 - 所产生的数字为空。我认为这个脚本的重点是处理重复的值,因为它显示密度?
缺少子函数范围()的定义(没有附加工具箱),也是子函数的几个缺少的结束语句。一旦这些错误被纠正,它会表现良好。(R2012A)
这段代码很棒,正是我所需要的!但是,我想知道是否有办法设置颜色?例如,如何在其他matlab绘图工具中设置颜色条限制。我好像找不到办法。
我有一个很大的密度峰值,它将色条设置得很高,以至于没有其他东西显示出来。
很好的工作!非常有用的。
对于简单的节目来说,这适用于
函数hh = scatterC(变长度输入宗量,n,方法)
如果nargin <2
n = 100;%垃圾箱
= ' p ' % pcolor方法
结尾
如果nargin <3
方法='P'
结尾
[N C] = hist3(变长度输入宗量,(N, N));
N(找到(N = = 0)) =南;
[x y] = meshgrid(c {1},c {2});
开关方法
例“p”
PColor(x,y,n);遮阳平;
案例'c'%contourf
contourf(x,y,n,'edgecolor','none');
结尾
优秀和有用的绘图工具。然而,命令行参数的规范很棘手。也许指定输入参数的运行时反馈会有用。
这就是我只是在寻找的东西。非常好!谢谢你。
这是一个非常好的工具,用于在2d中可视化分散的数据。出色的帮助,H1行,变量的默认值,内部注释等。
缺陷在可行性参数上没有任何错误检查。例如,方法参数被描述为拍摄“圈子”,“正方形”或“Voronoi”之一。但是,代码只检查前两个字符,两者都必须正确。此功能无证。请注意,StrcMPI或STRMATCT易于使用将检查任何缩短版本的选项的工具。您甚至可以忽略大写。
同样,PO(绘图选项)参数没有错误检查。如果您通过5,则获得任意结果。
我很想给这个5评分,并愉快地提高我的评价。
不错的工作。谢谢你!
是的,很简单,但令人印象深刻,很好
漂亮,简单,有效!