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

  统计/机器学习 数据可视化 Python    浏览次数:28509        分享
2

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

谢谢!


 

雕牌   2017-11-01 09:34



   2个回答 
6

可以用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()


SofaSofa数据科学社区DS面试题库 DS面经

木子周   2017-11-02 12:45

5


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()


SofaSofa数据科学社区DS面试题库 DS面经

小齐   2017-11-02 07:45



  相关讨论

使用python plotnine画图 没有显示

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

plt.scatter中c参数和cmap参数的区别是什么?

matplotlib.pyplot画图怎么添加横轴,纵轴的名字?

python matplotlib画图中怎么显示latex数学公式?

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

%matplotlib inline什么意思?

画图的时候RuntimeError: Invalid DISPLAY variable

matplotlib plt.hist画直方图,怎么改变直方之间分界线的颜色?

pyplot的散点图怎么画空心的点?

  随便看看

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

KNN中K值的选择

pytorch里view(-1, 1)什么意思?

keras里sparse_categorical_crossentropy和categorical_crossentropy什么不同?

训练神经网络中经常提到的epoch是什么意思