python - 如何绘制从 scipy.brute() 方法输出的 4-D 数据?
问题描述
我正在尝试优化具有 3 个不同变量的某个方程。因为,我需要全局最小值,所以我使用 scipy.brute() 方法来找到最小值。
我现在需要做的是从中获取输出,并创建所有可能解决方案的 4-D 图(可能使用颜色)。
问题是我不能使用常规散点图,因为我在每个整数点都有一个数据点。
还有彩色图,这是我选择的图形形式,仅适用于 3-D 数据。
def objFunc(x):
return x[0] + x[1] + x[2] #not actual objective
def optim():
range = (slice(5, 40, 1),) * 3
result = brute(objFunc, range, full_output=True, finish=None)
return result
输出如下所示:
(array([16., 11., 17.]),
-14.264000000000266,
array([[[[ 5, 5, 5, ..., 5, 5, 5],
[ 5, 5, 5, ..., 5, 5, 5],
[ 5, 5, 5, ..., 5, 5, 5],
...,
[ 5, 5, 5, ..., 5, 5, 5],
[ 5, 5, 5, ..., 5, 5, 5],
[ 5, 5, 5, ..., 5, 5, 5]],
[[ 6, 6, 6, ..., 6, 6, 6],
[ 6, 6, 6, ..., 6, 6, 6],
[ 6, 6, 6, ..., 6, 6, 6],
...,
[ 6, 6, 6, ..., 6, 6, 6],
[ 6, 6, 6, ..., 6, 6, 6],
[ 6, 6, 6, ..., 6, 6, 6]],
[[ 7, 7, 7, ..., 7, 7, 7],
[ 7, 7, 7, ..., 7, 7, 7],
[ 7, 7, 7, ..., 7, 7, 7],
...,
[ 7, 7, 7, ..., 7, 7, 7],
[ 7, 7, 7, ..., 7, 7, 7],
[ 7, 7, 7, ..., 7, 7, 7]],
...,
[[37, 37, 37, ..., 37, 37, 37],
[37, 37, 37, ..., 37, 37, 37],
[37, 37, 37, ..., 37, 37, 37],
...,
[37, 37, 37, ..., 37, 37, 37],
[37, 37, 37, ..., 37, 37, 37],
[37, 37, 37, ..., 37, 37, 37]],
[[38, 38, 38, ..., 38, 38, 38],
[38, 38, 38, ..., 38, 38, 38],
[38, 38, 38, ..., 38, 38, 38],
...,
[38, 38, 38, ..., 38, 38, 38],
[38, 38, 38, ..., 38, 38, 38],
[38, 38, 38, ..., 38, 38, 38]],
[[39, 39, 39, ..., 39, 39, 39],
[39, 39, 39, ..., 39, 39, 39],
[39, 39, 39, ..., 39, 39, 39],
...,
[39, 39, 39, ..., 39, 39, 39],
[39, 39, 39, ..., 39, 39, 39],
[39, 39, 39, ..., 39, 39, 39]]],
[[[ 5, 5, 5, ..., 5, 5, 5],
[ 6, 6, 6, ..., 6, 6, 6],
[ 7, 7, 7, ..., 7, 7, 7],
...,
[37, 37, 37, ..., 37, 37, 37],
[38, 38, 38, ..., 38, 38, 38],
[39, 39, 39, ..., 39, 39, 39]],
[[ 5, 5, 5, ..., 5, 5, 5],
[ 6, 6, 6, ..., 6, 6, 6],
[ 7, 7, 7, ..., 7, 7, 7],
...,
[37, 37, 37, ..., 37, 37, 37],
[38, 38, 38, ..., 38, 38, 38],
[39, 39, 39, ..., 39, 39, 39]],
[[ 5, 5, 5, ..., 5, 5, 5],
[ 6, 6, 6, ..., 6, 6, 6],
[ 7, 7, 7, ..., 7, 7, 7],
...,
[37, 37, 37, ..., 37, 37, 37],
[38, 38, 38, ..., 38, 38, 38],
[39, 39, 39, ..., 39, 39, 39]],
...,
[[ 5, 5, 5, ..., 5, 5, 5],
[ 6, 6, 6, ..., 6, 6, 6],
[ 7, 7, 7, ..., 7, 7, 7],
...,
[37, 37, 37, ..., 37, 37, 37],
[38, 38, 38, ..., 38, 38, 38],
[39, 39, 39, ..., 39, 39, 39]],
[[ 5, 5, 5, ..., 5, 5, 5],
[ 6, 6, 6, ..., 6, 6, 6],
[ 7, 7, 7, ..., 7, 7, 7],
...,
[37, 37, 37, ..., 37, 37, 37],
[38, 38, 38, ..., 38, 38, 38],
[39, 39, 39, ..., 39, 39, 39]],
[[ 5, 5, 5, ..., 5, 5, 5],
[ 6, 6, 6, ..., 6, 6, 6],
[ 7, 7, 7, ..., 7, 7, 7],
...,
[37, 37, 37, ..., 37, 37, 37],
[38, 38, 38, ..., 38, 38, 38],
[39, 39, 39, ..., 39, 39, 39]]],
[[[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39],
...,
[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39]],
[[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39],
...,
[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39]],
[[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39],
...,
[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39]],
...,
[[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39],
...,
[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39]],
[[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39],
...,
[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39]],
[[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39],
...,
[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39],
[ 5, 6, 7, ..., 37, 38, 39]]]]),
array([[[ 0.0000e+00, 0.0000e+00, 0.0000e+00, ..., 0.0000e+00,
0.0000e+00, 0.0000e+00],
[-1.8646e+00, -3.9202e+00, -4.0626e+00, ..., -1.2946e+00,
-1.7752e+00, -2.1930e+00],
[-4.3552e+00, -4.0626e+00, -4.9642e+00, ..., -1.7610e+00,
-5.3600e-02, 2.6060e-01],
...,
[-1.0168e+00, 1.2460e-01, -9.4820e-01, ..., 2.4376e+00,
2.7144e+00, 4.7294e+00],
[-8.7720e-01, -3.9600e-01, 7.5920e-01, ..., 2.7144e+00,
4.6094e+00, 4.7240e+00],
[-4.6200e-01, -8.1380e-01, 1.0734e+00, ..., 4.7294e+00,
4.7240e+00, 4.3872e+00]],
[[ 1.8646e+00, 3.9202e+00, 4.0626e+00, ..., 1.2946e+00,
1.7752e+00, 2.1930e+00],
[ 0.0000e+00, 0.0000e+00, 0.0000e+00, ..., 0.0000e+00,
0.0000e+00, 0.0000e+00],
[-3.9826e+00, -4.7238e+00, -7.4158e+00, ..., 4.3906e+00,
2.7800e+00, 8.0380e-01],
...,
[ 1.2460e-01, 1.7028e+00, 3.6512e+00, ..., 2.2730e+00,
1.5168e+00, 9.2340e-01],
[-3.9600e-01, 2.3934e+00, 2.4206e+00, ..., 1.5168e+00,
9.2340e-01, 1.5756e+00],
[-8.1380e-01, 1.5208e+00, 1.3440e-01, ..., 9.2340e-01,
1.5756e+00, 2.8896e+00]],
[[ 4.3552e+00, 4.0626e+00, 4.9642e+00, ..., 1.7610e+00,
5.3600e-02, -2.6060e-01],
[ 3.9826e+00, 4.7238e+00, 7.4158e+00, ..., -4.3906e+00,
-2.7800e+00, -8.0380e-01],
[ 0.0000e+00, 0.0000e+00, 0.0000e+00, ..., 0.0000e+00,
0.0000e+00, 0.0000e+00],
...,
[-9.4820e-01, 3.2012e+00, 2.3234e+00, ..., 1.8586e+00,
3.1328e+00, 3.3862e+00],
[ 7.5920e-01, 1.9706e+00, 1.8436e+00, ..., 3.0428e+00,
3.3862e+00, 3.5442e+00],
[ 1.0734e+00, -5.6000e-03, 4.0352e+00, ..., 3.3862e+00,
3.5442e+00, 2.6238e+00]],
...,
[[ 1.0168e+00, -1.2460e-01, 9.4820e-01, ..., -2.4376e+00,
-2.7144e+00, -4.7294e+00],
[-1.2460e-01, -1.7028e+00, -3.6512e+00, ..., -2.2730e+00,
-1.5168e+00, -9.2340e-01],
[ 9.4820e-01, -3.2012e+00, -2.3234e+00, ..., -1.8586e+00,
-3.1328e+00, -3.3862e+00],
...,
[ 0.0000e+00, 0.0000e+00, 0.0000e+00, ..., 0.0000e+00,
0.0000e+00, 0.0000e+00],
[ 6.6600e-01, 1.2574e+00, 1.1392e+00, ..., 5.3169e+00,
3.6745e+00, 5.9975e+00],
[ 2.7666e+00, 6.2400e-01, 1.4826e+00, ..., 3.7183e+00,
5.9975e+00, 6.0069e+00]],
[[ 8.7720e-01, 3.9600e-01, -7.5920e-01, ..., -2.7144e+00,
-4.6094e+00, -4.7240e+00],
[ 3.9600e-01, -2.3934e+00, -2.4206e+00, ..., -1.5168e+00,
-9.2340e-01, -1.5756e+00],
[-7.5920e-01, -1.9706e+00, -1.8436e+00, ..., -3.0428e+00,
-3.3862e+00, -3.5442e+00],
...,
[-6.6600e-01, -1.2574e+00, -1.1392e+00, ..., -5.3169e+00,
-3.6745e+00, -5.9975e+00],
[ 0.0000e+00, 0.0000e+00, 0.0000e+00, ..., 0.0000e+00,
0.0000e+00, 0.0000e+00],
[ 2.6952e+00, 7.3620e-01, 2.1606e+00, ..., 5.9975e+00,
6.2250e+00, 6.0576e+00]],
[[ 4.6200e-01, 8.1380e-01, -1.0734e+00, ..., -4.7294e+00,
-4.7240e+00, -4.3872e+00],
[ 8.1380e-01, -1.5208e+00, -1.3440e-01, ..., -9.2340e-01,
-1.5756e+00, -2.8896e+00],
[-1.0734e+00, 5.6000e-03, -4.0352e+00, ..., -3.3862e+00,
-3.5442e+00, -2.6238e+00],
...,
[-2.7666e+00, -6.2400e-01, -1.4826e+00, ..., -3.7183e+00,
-5.9975e+00, -6.0069e+00],
[-2.6952e+00, -7.3620e-01, -2.1606e+00, ..., -5.9975e+00,
-6.2250e+00, -6.0576e+00],
[ 0.0000e+00, 0.0000e+00, 0.0000e+00, ..., 0.0000e+00,
0.0000e+00, 0.0000e+00]]]))
这不是我可以轻松绘制的东西
解决方案
推荐阅读
- javascript - 如何使用 Ifs 编写此函数以具有相应的 else 语句
- c++ - 在数据库程序中实现一个类
- android - 为什么图像显示为浅灰色背景,当它有白色 android 时?
- xml - 用于项目符号点元素的 XSLT 动态标记插入
- java - jTextField(NetBeans) - CTRL+V 绕过 Character.isAlphabetic 事件规则
- c - 在 linux c 中使用已知 key_t 查找 msqid
- selenium - 如何在机器人框架中获得文本溢出的css样式
- seal - 选择合适的plaintext_modulus
- php - 字符串中的变量
- css - 平滑的 css 径向渐变切口