如何在散布矩阵中更改配色方案?

时间:2019-09-03 12:25:09

标签: python python-3.x pandas matplotlib scatter-plot

因为我是python数据分析的新手,所以我想通过教程和调整他人的工作代码来提高自己的技能。

此刻,我正在处理 fruit_data_with_colors 数据集,并想了解python代码,该代码可在以下位置找到:

https://github.com/susanli2016/Machine-Learning-with-Python/blob/master/Solving%20A%20Simple%20Classification%20Problem%20with%20Python.ipynb

开头的示例之一显示了不同数字输入变量(高度,宽度,质量,颜色)的分散矩阵。使用上述代码,绘制的图像中的颜色为紫色,棕色,黄色和黑色。我想将其更改为更具吸引力的颜色(例如红色,蓝色,绿色,黑色)

我查看了matplotlib的文档,并认为我应该调整代码的"c = y"部分。 https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.scatter.html

尝试"c = ['blue']"效果很好,但是如果我以"c = ['blue', 'red']"的形式添加另一种颜色,则会发生错误:

ValueError: 'c' argument has 2 elements, which is not acceptable for use with 'x' with size 59, 'y' with size 59.

X = fruits[feature_names]
y = fruits['fruit_label']
from matplotlib import cm
cmap = cm.get_cmap('gnuplot')
scatter = pd.scatter_matrix(X, c = y, marker = 'o', s=40, hist_kwds={'bins':15}, figsize=(9,9), cmap = cmap)
plt.suptitle('Scatter-matrix for each input variable')
plt.savefig('fruits_scatter_matrix')```

1 个答案:

答案 0 :(得分:0)

我认为实现所需目标的最简单方法是更改​​颜色图,只需编辑即可:

cmap = cm.get_cmap('new_color_map')

具有更吸引人的色彩图。您可以查看完整列表here。此外,seaborn库还提供了一些不错的颜色图。在seaborn中,您可以使用pairplot function生成漂亮的散点矩阵图!