在matplotlib中使用色调的散点图

时间:2014-04-15 13:55:18

标签: matplotlib

我有一个

形式的数据集

enter image description here

我想在x和y之间创建一个散点图,在matplotlib中按国家/地区着色。 请帮忙。

3 个答案:

答案 0 :(得分:0)

c_map = {'US': 'b', 'UK': 'r', ...}
fig, ax = plt.subplots(1, 1)
ax.scatter(x, y, c=[c_map[_] for _ in country])

答案 1 :(得分:0)

我尝试了这段代码,似乎解决了这个问题。

   fig, ax = plt.subplots()
   for dd,daata in P.groupby('Country'):
   ax.plot(daata['X'],daata['Y'],'o')

答案 2 :(得分:-1)

在Altair中解决这个问题。

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

cat = ["US"] *5 + ["UK"]*4
x = np.append(np.arange(1,6), np.arange(2.5,4.1,0.5))
y = np.random.randint(12,24, size=len(cat))
df = pd.DataFrame({"cat":cat, "x":x, "y":y})

from altair import *
Chart(df).mark_point().encode(x='x', y='y', color='cat').configure_cell(width=200, height=150)

enter image description here