Python Matplotlib 3d散点图缺少彩色贴图
我之前发布了一个程序,试图在3d散点图上绘制四维数据(xyz坐标和电压),并根据电压的大小绘制彩色地图 虽然我的数据点总是显示为蓝色,表明颜色映射没有被正确应用,但我能够毫无错误地运行我的程序(表明我没有丢失任何包)。有人知道问题出在哪里吗?如果是的话,我非常感激Python Matplotlib 3d散点图缺少彩色贴图,python,matplotlib,color-mapping,Python,Matplotlib,Color Mapping,我之前发布了一个程序,试图在3d散点图上绘制四维数据(xyz坐标和电压),并根据电压的大小绘制彩色地图 虽然我的数据点总是显示为蓝色,表明颜色映射没有被正确应用,但我能够毫无错误地运行我的程序(表明我没有丢失任何包)。有人知道问题出在哪里吗?如果是的话,我非常感激 from pylab import * import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D x = array([-4,-4, -4,-
from pylab import *
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
x = array([-4,-4, -4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,4,4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, -5, -4.5, -4, -3.5, -3, -2.5, -2, -1.5, -1, -0.5, 0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, -6.5, -6, -5.5,
])
y = array([-0.1, 3.95, 5.8,4.4,0.1,-4,-5.8,-4,1,2.4,3.2, 1.6,-0.8,-2.6,-3.3,-1.4,-0.1,3.95, 5.8,4.4,0.1,-4,-5.8,-4,1,2.4, 3.2, 1.6, -0.8, -2.6, -3.3, -1.4, -0.1, 3.95, 5.8, 4.4, 0.1, -4, -5.8, -4, 1, 2.4, 3.2, 1.6, -0.8, -2.6, -3.3, -1.4, -0.1, 3.95, 5.8, 4.4, 0.1, -4, -5.8, -4, 1, 2.4, 3.2, 1.6, -0.8, -2.6, -3.3, -1.4, -0.1, 3.95, 5.8, 4.4, 0.1, -4, -5.8, -4, 1, 2.4, 3.2, 1.6, -0.8, -2.6, -3.3, -1.4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
])
z = array([5.85, 4, 0.2,-3.8,-5.85,-4.1,-0.15,4,2.75,1.4,-0.3, -2.6, -2.75,-2.7, 1.2, 3.2,5.85,4, 0.2,-3.8,-5.85,-4.1,-0.15, 4, 2.75, 1.4, -0.3, -2.6, -2.75, -2.7, 1.2, 3.2, 5.85, 4, 0.2, -3.8, -5.85, -4.1, -0.15, 4, 2.75, 1.4, -0.3, -2.6, -2.75, -2.7, 1.2, 3.2, 5.85, 4, 0.2, -3.8, -5.85, -4.1, -0.15, 4, 2.75, 1.4, -0.3, -2.6, -2.75, -2.7, 1.2, 3.2, 5.85, 4, 0.2, -3.8, -5.85, -4.1, -0.15, 4, 2.75, 1.4, -0.3, -2.6, -2.75, -2.7, 1.2, 3.2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
])
v = array([0.29, 0.32, 0.3, 0.27, 0.3, 0.28, 0.31, 0.28, 0.19, 0.18, 0.19, 0.18, 0.19, 0.19, 0.2, 0.19, 0.12, 0.12, 0.11, 0.1, 0.11, 0.15, 0.14, 0.13, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.32, 0.31, 0.3, 0.31, 0.29, 0.3, 0.32, 0.31, 0.2, 0.21, 0.19, 0.19, 0.19, 0.19, 0.19, 0.2, 0.13, 0.12, 0.14, 0.14, 0.17, 0.17, 0.16, 0.14, 0.18, 0.18, 0.18, 0.19, 0.19, 0.19, 0.19, 0.18, 0.16, 0.18, 0.2, 0.19, 0.18, 0.15, 0.16, 0.18, 0.18, 0.18, 0.18, 0.17, 0.17, 0.17, 0.18, 0.18, 0.13, 0.14, 0.15, 0.16, 0.17, 0.17, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.18, 0.17, 0.17, 0.16, 0.15, 0.14, 0.12, 0.08, 0.09, 0.11, 0.09, 0.1, 0.11,
])
c = abs(v)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
cmhot = plt.get_cmap("hot")
cax = ax.scatter(x, y, z, v, s=50, c = c, cmap = cmhot)
plt.show()
非常感谢任何人能为我看一看这个
from pylab import *
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
th = np.linspace(0, 2 * pi, 100)
x = cos(th)
y = sin(th)
z = th
v = cos(th) * sin(th)
c = abs(v)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
cmhot = plt.get_cmap("hot")
cax = ax.scatter(x, y, z, v, s=50, c = c, cmap = cmhot)
plt.show()
产生
看到这个报告了1.1.0版的相同内容(并且有一个解决方法)。这是mpl中的一个老错误,已在更高版本(PR)中修复。您能发布一些示例/简化/伪造数据来说明问题吗?否则很难运行您的代码。blue甚至没有处于“热”状态……另外,您使用的是什么版本的mpl/OS,以及您是如何安装mpl的?根据上面的请求,我编辑了我的代码以包含我的数据点。我正在使用Windows 7,如何检查我的MPL版本?很抱歉所有的错误。
matplotlib.\uu版本\uu
将为您提供该版本。当我运行上面的代码时,我会得到蓝色的所有内容。也许我应该重新安装pythonxy?没有,没有错误。