And*_*dry 1 wolfram-mathematica mathematica-8
我的问题如下.
在平面上绘制一组2D点,其具有用于为每个点提供强度的函数.
fun(x,y):=x+y
Run Code Online (Sandbox Code Playgroud)
另外,我有一个图表连接这些点.我需要在密度图上显示图形,这绝对是必要的.
不知道怎么做.我搜索了一下Mathematica文档,但我找不到多少.
每当有人找到解决方案时,我也有一个问题.如何在密度图上使用图形功能是不可能的?例如,如果我想在顶点上显示标签,是否可以使用某种参数化解决方案.也许我要求太多,这只是一个小小的注意事项,如果花费太多时间就跳过它.
我需要2D图.不是3D的.只是2D很好.
Graph
有一个选项VertexCoordinates
,您可以使用该选项指定顶点的坐标,因此您可以绘制a ListDensityPlot
和a Graph
的顶部.例如,假设您的数据类似于
f[x_, y_] := x + y
pts = RandomReal[1, {40, 2}]; (* xy coordinates *)
edges = Flatten[Table[{i -> Position[pts, #][[1, 1]]} & /@
Rest[Nearest[pts, pts[[i]], 4]], {i, Length[pts]}]];
edges = Union[edges, SameTest -> (SameQ[#1, #2] || SameQ[#1, Reverse[#2]] &)];
Run Code Online (Sandbox Code Playgroud)
然后你可以做类似的事情
densPlot = ListDensityPlot[{##, f[##]} & @@@ pts];
graph = Graph[Range[Length[pts]], edges,
VertexCoordinates -> pts,
VertexShapeFunction -> "Square",
VertexSize -> 1.5, VertexLabels -> "Name",
EdgeStyle -> Directive[Opacity[1], White]];
Show[densPlot, graph]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
864 次 |
最近记录: |