Python 如何使用matplotlib根据散点图上的点的类型为其着色
我正在处理虹膜数据并尝试使用散点图,虽然我能够获得输出,但我想知道如何使用matplotlib根据点的种类为点着色 我已经使用了以下语法:Python 如何使用matplotlib根据散点图上的点的类型为其着色,python,matplotlib,jupyter-notebook,Python,Matplotlib,Jupyter Notebook,我正在处理虹膜数据并尝试使用散点图,虽然我能够获得输出,但我想知道如何使用matplotlib根据点的种类为点着色 我已经使用了以下语法: iris.plot.scatter(x='petal_length', y='petal_width') iris.plot(kind='scatter', x='sepal_length', y='sepal_width') 另外,是否有任何方法可以使用一行代码创建萼片长度/宽度和花瓣长度/宽度的两个散点图,同时根据物种进行着色?在一次调用plotti
iris.plot.scatter(x='petal_length', y='petal_width')
iris.plot(kind='scatter', x='sepal_length', y='sepal_width')
另外,是否有任何方法可以使用一行代码创建萼片长度/宽度和花瓣长度/宽度的两个散点图,同时根据物种进行着色?在一次调用plotting函数中获得正确的颜色有点繁琐
import seaborn as sns
iris = sns.load_dataset("iris")
import numpy as np
import matplotlib.pyplot as plt
u, inv = np.unique(iris.species.values, return_inverse=True)
ax = iris.plot.scatter(x='petal_length', y='petal_width',
c=inv, cmap="brg", colorbar=False)
plt.show()
因此,我建议对该物种进行循环,这样做的另一个好处是可以很容易地在情节中加入一个传说
import seaborn as sns
iris = sns.load_dataset("iris")
import matplotlib.pyplot as plt
for n, grp in iris.groupby("species"):
plt.scatter(grp.petal_length, grp.petal_width, label=n)
plt.legend()
plt.show()
一个简单的解决方案也是使用seaborn
import seaborn as sns
iris = sns.load_dataset("iris")
import matplotlib.pyplot as plt
g = sns.FacetGrid(iris, hue="species")
g.map(plt.scatter, 'petal_length','petal_width').add_legend()
plt.show()
我认为您应该有一个名为
type
的专栏。只需将其添加为参数c='type'
。这不是一个。请编辑您的问题。话虽如此,IMCoins可能是对的。但谁知道呢。