如何用Seaborn为散点图添加异色数据点或修改最后一个点颜色?
两种方案实现你要的散点图颜色修改需求
先看你的原代码(注意补充了缺失的matplotlib导入,否则代码会报错):
import seaborn as sns import matplotlib.pyplot as plt iris = sns.load_dataset("iris") grid = sns.JointGrid(iris.petal_length, iris.petal_width, space=0, size=6, ratio=50) grid.plot_joint(plt.scatter, color="g")
方案一:添加坐标为[3, 0.05]的红色数据点
只需要在原代码绘制完绿色散点后,单独用plt.scatter()绘制这个指定坐标的点,设置颜色为红色即可,还可以调整点的大小让它更显眼:
import seaborn as sns import matplotlib.pyplot as plt iris = sns.load_dataset("iris") grid = sns.JointGrid(iris.petal_length, iris.petal_width, space=0, size=6, ratio=50) grid.plot_joint(plt.scatter, color="g") # 添加指定坐标的红色数据点 plt.scatter(3, 0.05, color='red', s=100) # s参数控制点的大小,数值越大点越明显 grid.show()
方案二:将数据集中的最后一个点改为红色
我们可以把数据集拆成两部分:前149个点(保持绿色)和最后1个点(设为红色),分别绘制到JointGrid上:
import seaborn as sns import matplotlib.pyplot as plt iris = sns.load_dataset("iris") grid = sns.JointGrid(iris.petal_length, iris.petal_width, space=0, size=6, ratio=50) # 绘制前149个绿色点 grid.plot_joint(plt.scatter, color="g", data=iris.iloc[:-1]) # 绘制最后一个红色点 plt.scatter(iris.petal_length.iloc[-1], iris.petal_width.iloc[-1], color='red', s=100) grid.show()
内容的提问来源于stack exchange,提问作者JOR_1974
相关产品推荐
相关产品推荐

