python画散点图类型-Pandas / Pyplot中的散点图:如何按类别绘制

你可以使用scatter它,但这需要你的数字值,你key1不会有一个传说,正如你所注意到的那样。

最好只使用plot像这样的离散类别。例如:import matplotlib.pyplot as pltimport numpy as npimport pandas as pd

np.random.seed(1974)# Generate Datanum = 20x, y = np.random.random((2, num))labels = np.random.choice(['a', 'b', 'c'], num)df = pd.DataFrame(dict(x=x, y=y, label=labels))groups = df.groupby('label')# Plotfig, ax = plt.subplots()ax.margins(0.05) # Optional, just adds 5% padding to the autoscalingfor name, group in groups:

ax.plot(group.x, group.y, marker='o', linestyle='', ms=12, label=name)ax.legend()plt.show()

如果您希望看起来像默认pandas样式,那么只需rcParams使用pandas样式表更新它并使用其颜色生成器。(我也在稍微调整一下这个传说):import matplotlib.pyplot as pltimport numpy as npimport pandas as pd

np.random.seed(1974)# Generate Datanum = 20x, y = np.random.random((2, num))labels = np.random.choice(['a', 'b', 'c'], num)df = pd.DataFrame(dict(x=x, y=y, label=labels))groups = df.groupby('label')# Plotplt.rcParams.update(pd.tools.plotting.mpl_stylesheet)colors = pd.tools.plotting._get_standard_colors(len(groups), color_type='random')fig, ax = plt.subplots()ax.set_color_cycle(colors)ax.margins(0.05)for name, group in groups:

ax.plot(group.x, group.y, marker='o', linestyle='', ms=12, label=name)ax.legend(numpoints=1, loc='upper left')plt.show()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值