Python散点图不适用于;无”;要点
假设我创建三个列表:Python散点图不适用于;无”;要点,python,list,scatter-plot,Python,List,Scatter Plot,假设我创建三个列表: x=[1,2,3] y=[4,5,6] z=[1,None,4] 我如何分散这一点,只包括带有数字的点(即排除“无”点)。当我包含这些列表时,我的代码不会生成散点图(但是当我包含一个数字而不是“无”时,它会工作): 你能行 import numpy as np 并将您的None替换为np.nan。包含np.nan的点不会绘制在散点图中。有关更多信息,请参阅 如果您有包含无的长列表,您可以通过 array_containing_nans = np.array(list_c
x=[1,2,3]
y=[4,5,6]
z=[1,None,4]
我如何分散这一点,只包括带有数字的点(即排除“无”点)。当我包含这些列表时,我的代码不会生成散点图(但是当我包含一个数字而不是“无”时,它会工作):
你能行
import numpy as np
并将您的None
替换为np.nan
。包含np.nan
的点不会绘制在散点图中。有关更多信息,请参阅
如果您有包含无的长列表
,您可以通过
array_containing_nans = np.array(list_containing_nones, dtype=float)
您可以使用
numpy.nan
而不是None
import numpy as np
z=[1,None,4]
z_numpy = np.asarray(z, dtype=np.float32)
....
ax.scatter(x, y, z_numpy, c='r', marker='o')
您应该使用
NaNs
,而不是None
,这是不同的。一个NaN
是一个浮点数
最小示例
import numpy as np
import matplotlib.pyplot as plt
x=[1,2,3]
y=[4,5,6]
z=[1,np.nan,4]
plt.scatter(x,y,z)
plt.show()
我想这取决于您希望如何处理3D绘图中的2D点,但排除None点的简单解决方案是用np.nan替换None值。或者,您可能希望保留所有3个点,在这种情况下,您可以将其替换为0
import numpy as np
import matplotlib.pyplot as plt
x=[1,2,3]
y=[4,5,6]
z=[1,np.nan,4]
plt.scatter(x,y,z)
plt.show()