是否可以将多个数据添加到pandas.tools.plotting.scatter_matrix
中,并为每组数据分配一种颜色?
我想在同一个散点矩阵中显示一个数据组的散点图数据点,比方说用绿色表示,另一个数据组的散点是用红色。对于对角线上的密度图,也应该使用相同的方法。我知道可以使用matplotlib的scatter
函数实现这个功能,但那不会给我一个散点矩阵。
pandas文档对此没有具体说明。
是否可以将多个数据添加到pandas.tools.plotting.scatter_matrix
中,并为每组数据分配一种颜色?
我想在同一个散点矩阵中显示一个数据组的散点图数据点,比方说用绿色表示,另一个数据组的散点是用红色。对于对角线上的密度图,也应该使用相同的方法。我知道可以使用matplotlib的scatter
函数实现这个功能,但那不会给我一个散点矩阵。
pandas文档对此没有具体说明。
简短的回答是确定散点图中每个点的颜色,将其放入数组中,并将其作为 color
参数传递。
示例:
from pandas.tools.plotting import scatter_matrix
import pandas as pd
from sklearn import datasets
iris = datasets.load_iris()
iris_data = pd.DataFrame(data=iris['data'],columns=iris['feature_names'])
iris_data["target"] = iris['target']
color_wheel = {1: "#0392cf",
2: "#7bc043",
3: "#ee4035"}
colors = iris_data["target"].map(lambda x: color_wheel.get(x + 1))
ax = scatter_matrix(iris_data, color=colors, alpha=0.6, figsize=(15, 15), diagonal='hist')
对我来说,这个答案没有起作用...但是通过这个小修正,它对我很有用!
import pandas as pd
from pandas.plotting import scatter_matrix
from sklearn import datasets
iris = datasets.load_iris()
iris_data = pd.DataFrame(data=iris['data'],columns=iris['feature_names'])
iris_data["target"] = iris['target']
color_wheel = {1: "#0392cf",
2: "#7bc043",
3: "#ee4035"}
colors = iris_data["target"].map(lambda x: color_wheel.get(x + 1))
ax = scatter_matrix(iris_data, color=colors, alpha=0.6, figsize=(15, 15), diagonal='hist')
iris_data["target"] = iris['target']
是做什么用的? - Thales Carl