Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在散点图中将异常值更改为其他颜色_Python_Matplotlib - Fatal编程技术网

Python 如何在散点图中将异常值更改为其他颜色

Python 如何在散点图中将异常值更改为其他颜色,python,matplotlib,Python,Matplotlib,如果我有这样的散点图 我想知道是否有办法将明显的异常值(如顶部的三个)更改为同一绘图中的其他颜色?首先,您需要找到“异常值”的标准。一旦你有了这些,你就可以在你的图中掩盖那些不想要的点。 基于条件选择数组的子集可以在numpy中轻松完成,例如,如果a是一个numpy数组,a[a=1],y[np.abs(y)>=1],marker=“d”,color=“#d46f9f”) plt.show() 生产 在这里,我们从正态分布绘制点,对分布宽度以外的所有点进行不同的着色。有一个很好的答案。如果我有

如果我有这样的散点图


我想知道是否有办法将明显的异常值(如顶部的三个)更改为同一绘图中的其他颜色?

首先,您需要找到“异常值”的标准。一旦你有了这些,你就可以在你的图中掩盖那些不想要的点。 基于条件选择数组的子集可以在numpy中轻松完成,例如,如果
a
是一个numpy数组,
a[a=1],y[np.abs(y)>=1],marker=“d”,color=“#d46f9f”)
plt.show()
生产

在这里,我们从正态分布绘制点,对分布宽度以外的所有点进行不同的着色。

有一个很好的答案。如果我有一个对应于数据点枚举类别的数组(在将数据预先划分为类时特别有用),那么我将使用一个线性表达式

将图形划分为3个彩色区域的相应散点图:


这是一个很难回答的问题,因为离群值不是一个具有真实定义的术语。也许会有帮助。
import numpy as np
import matplotlib.pyplot as plt

num= 1000
x= np.linspace(0,100, num=num)
y= np.random.normal(size=num)

fig=plt.figure()
ax=fig.add_subplot(111)
# plot points inside distribution's width
ax.scatter(x[np.abs(y)<1], y[np.abs(y)<1], marker="s", color="#2e91be")
# plot points outside distribution's width
ax.scatter(x[np.abs(y)>=1], y[np.abs(y)>=1], marker="d", color="#d46f9f")
plt.show()
import numpy as np
import matplotlib.pyplot as plt

num = 1000
x= np.random.rand(1,100)
y= np.random.rand(1,100)*2

# Creating a simple data point classification criteria, classes in this case will be 0, 1 and 2
classes = np.round(y)

# Passing in the classes for the "c" argument is super convinient
plt.scatter(x,y, c=classes,cmap=plt.cm.Set1)
plt.show()