我在MATLAB中有一个2D散点图。是否可以插入散点图以创建面积图?
答案 0 :(得分:3)
如果您只是想在整个散乱点周围绘制一个大的填充多边形,可以使用函数CONVHULL找到包含点和函数PATCH的凸包。显示凸包:
x = rand(1,20); %# 20 random x values
y = rand(1,20); %# 20 random y values
hullPoints = convhull(x,y); %# Find the points defining the convex hull
patch(x(hullPoints),y(hullPoints),'r'); %# Plot the convex hull in red
hold on; %# Add to the existing plot
scatter(x,y); %# Plot your scattered points (for comparison)
这是最终的数字:
答案 1 :(得分:0)
Scatter通常用于表示不能使用折线图的数据,即每个x可能有许多不同的y值,因此您无法直接转换为区域图 - 这将毫无意义。如果您的数据实际上可以表示为折线图,则直接将其传递给area
。
所以我不太确定你想要什么,但这里有一些可能性:
您可以根据积分创建Voronoi图表。这将显示您的点附近的区域,显示哪些点更接近特定点:voronoi(x,y)
或see the help。
您可以以某种方式对数据进行存储或量化,使其适合网格,然后绘制网格。这也可以被认为是直方图,所以请仔细阅读。
您可以使用更大的散点图标scatter(x,y,scale)
,其中scale
的尺寸与x
和y
相同。