Mathematica 中如何画空间离散点。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mathematica 中如何画空间离散点。相关的知识,希望对你有一定的参考价值。

二维点的话,我知道怎么花,可是三维的点呢?
用的什么命令?
还有一个问题,就是,如何进行四维的绘图呢。比如 k=f[a,b,c],有没什么办法?
个人猜想就是,利用 可以利用颜色的深浅进行表示?

如果颜色也算上的话,考虑到三原色的原理,颜色可以体现3个维度,再加上长宽高的话,就有6个维度了.如果再考虑点的不同形状和大小的话就可以画出更高的维度了,但是画出来了,机器可以分辨,眼睛却未必可以分辨.
举一个例子:
下面是保存在E盘下的一个Excel文件chengji.xls的内容(你可以将下面的内容复制粘贴到Excel中,取名为chengji.xls,保存到E盘,然后运行后面的Mathematica 代码):
xuehao shuxue yuwen waiyu wuli huaxue shengwu
1 14 31 98 53 9 97
2 61 28 12 32 64 2
3 48 54 40 26 25 47
4 12 0 66 93 31 45
5 14 2 83 30 54 5
6 33 3 97 20 38 67
7 15 82 63 2 6 25
8 10 91 34 14 63 75
9 80 95 29 84 59 96
10 71 78 89 69 68 55
11 18 83 34 92 31 20
12 33 39 85 68 17 86
13 63 33 37 51 64 19
14 97 25 30 30 7 52

(*下面是Mathematica 代码*)
arr = Import["E:\\chengji.xls", "Data"][[1]];
len = Length@arr;
Table[tu[i] =
ListPointPlot3D[Table[arr[[i, j]], j, 1, 3],
AxesLabel -> Table[arr[[1, m]], m, 1, 3],
PlotStyle ->
Directive[PointSize[arr[[i, 7]]/1000],
RGBColor[Table[arr[[i, k]]/100, k, 4, 6]]]], i, 2, len];
Show[Table[tu[i], i, 2, len],
PlotRange -> 1, len - 1, 0, 100, 0, 100]

(*下面是说明*)
运行后会绘制一些散点,x坐标是学号,y坐标是数学成绩,z坐标是语文成绩,
散点的颜色是按照红绿蓝三原色绘制的,其中红色分量是外语成绩,绿色分量是物理成绩,蓝色分量是化学成绩,
散点的半径代表生物成绩.
这就是你所说的七维图吗?其实维度还可以增加的,比如变化点的形状就行了.

那就加分吧.你给的分太少了.

如果你不想进行Excel操作,那么我把导入到Mathematica 中的数据直接写入,你可以直接运行下面的代码就可以了.

arr = "xuehao", "shuxue", "yuwen", "waiyu", "wuli", "huaxue",
"shengwu", 1., 14., 31., 98., 53., 9., 97., 2., 61., 28., 12.,
32., 64., 2., 3., 48., 54., 40., 26., 25., 47., 4., 12., 0.,
66., 93., 31., 45., 5., 14., 2., 83., 30., 54., 5., 6., 33.,
3., 97., 20., 38., 67., 7., 15., 82., 63., 2., 6., 25., 8.,
10., 91., 34., 14., 63., 75., 9., 80., 95., 29., 84., 59.,
96., 10., 71., 78., 89., 69., 68., 55., 11., 18., 83., 34.,
92., 31., 20., 12., 33., 39., 85., 68., 17., 86., 13., 63.,
33., 37., 51., 64., 19., 14., 97., 25., 30., 30., 7., 52.;
len = Length@arr;
Table[tu[i] =
ListPointPlot3D[Table[arr[[i, j]], j, 1, 3],
AxesLabel -> Table[arr[[1, m]], m, 1, 3],
PlotStyle ->
Directive[PointSize[arr[[i, 7]]/1000],
RGBColor[Table[arr[[i, k]]/100, k, 4, 6]]]], i, 2, len];
Show[Table[tu[i], i, 2, len],
PlotRange -> 1, len - 1, 0, 100, 0, 100]
参考技术A ListPlot3D[x,y,z]
或用Point这个函数
关键有了每个点的列表就方便了,

Mathematica中,如何在函数中输出图像

参考技术A 很简单,使用Export函数即可:
Export["d:\sinplot.png", Plot[Sin[x], x, 0, 10]] (*保存图像到D盘*)追问

我不是这个意思,比如定义一个函数f:=...,怎么在这个定义的函数里输出图像(在mathematics里)

追答

f[t_] := Plot3D[Sin[1 - t - x] + Cos[y], x, -Pi, Pi, y, -Pi, Pi]
f[3]

本回答被提问者采纳
参考技术B = NSolve[y == x^2 && y == 2 x, ]; Plot[, ,
Epilog -> Point[ /. a],
Table[Inset[( /. a)[[i]], ( /. a)[[i]]], i, 1,
Length[a]]]
其输出效果如图。
参考技术C Shift+Enter 键

以上是关于Mathematica 中如何画空间离散点。的主要内容,如果未能解决你的问题,请参考以下文章

Mathematica或者origin或者excel ,如何绘制二项分布的曲线

matlab或mathematica怎样实现对离散点的傅立叶变换和逆变换

如何在mathematica 5.0 中求曲线在某个区间的最大值和最小值和某点的斜率?

如何在Mathematica 软件中画出一个三维向量的3D 图像,是否用这个函数ListVectorFieldPlot3D ,怎么画的

Mathematica里面用Plot画图怎么只有坐标没有图像?

怎么用Mathematica8.0.1来画函数图象