plt.scatter plot怎么让不同的类别有不同的颜色

  统计/机器学习 数据可视化 Python
2

如果我用python的pyplot画散点图,怎么可以让不同的类别显示不同的颜色,效果大致如下(网图)

谢谢!


 

雕牌   2017-11-01 09:34



   2个回答 
3

可以用seaborn和matplotlib一起

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

N = 100
genders= ['Female', 'Male']
df = pd.DataFrame({
    'Height': np.random.uniform(low=130, high=200, size=N),
    'Weight': np.random.uniform(low=40, high=100, size=N),
    'Gender': np.random.choice(genders, size=N)
})

fg = sns.FacetGrid(data=df, hue='Gender', hue_order=genders)
fg.map(plt.scatter, 'Weight', 'Height').add_legend()
plt.show()


木子周   2017-11-02 12:45

1


import matplotlib.pyplot as plt
plt.style.use('ggplot')
import pandas as pd
import numpy as np

#随机生成两个dataframe
d1 = pd.DataFrame(columns=['x', 'y'])
d1['x'] = np.random.normal(0, 1, 100)
d1['y'] = np.random.normal(0, 1, 100)
d2 = pd.DataFrame(columns=['x', 'y'])
d2['x'] = np.random.normal(2, 1, 100)
d2['y'] = np.random.normal(2, 1, 100)

#分别画出scatter图,但是设置不同的颜色
plt.scatter(d1['x'], d1['y'], color='blue', label='d1 points')
plt.scatter(d2['x'], d2['y'], color='green', label='d2 points')

#设置图例
plt.legend(loc=(1, 0))

#显示图片
plt.show()


小齐   2017-11-02 07:45



相关问题

plt.plot作图,隐藏坐标轴   1回答

matplotlib如何设置画图格式,使得可视化效果更好   2回答

matpltlib怎么给直方图加上拟合曲线?   1回答

用plt.hist画直方图,怎么返回每个bins的上下界和个数?   1回答

python里怎么实现柱状图?   1回答

怎么用matplotlib.pyplot画出堆积柱状图?   1回答

python直方图y轴显示占比,而不是绝对数值   1回答

seaborn如何显示图?   1回答

python做图自定义背景色   1回答

matplotlib.pyplot环境下给曲线下方的面积涂色?   1回答

python怎么画excel里那种双y轴的图?   1回答

matplotlib.pyplot画图的标题中插入变量   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!