pandas python,python不带颜色的图形_python-Matplotlib添加基于现有颜色系列的图例

 2023-09-23 阅读 20 评论 0

摘要:您可以使用带有基于色图和散点图归一化颜色的空图来创建图例手柄. import pandas as pd pandas python?import numpy as np; np.random.seed(1) import matplotlib.pyplot as plt x = [np.random.normal(5,2, size=20), np.random.normal(10,1, size=20), python

您可以使用带有基于色图和散点图归一化颜色的空图来创建图例手柄.

import pandas as pd

pandas python?import numpy as np; np.random.seed(1)

import matplotlib.pyplot as plt

x = [np.random.normal(5,2, size=20), np.random.normal(10,1, size=20),

python reshape。np.random.normal(5,1, size=20), np.random.normal(10,1, size=20)]

y = [np.random.normal(5,1, size=20), np.random.normal(5,1, size=20),

np.random.normal(10,2, size=20), np.random.normal(10,2, size=20)]

python numpy库。c = [np.ones(20)*(i+1) for i in range(4)]

df = pd.DataFrame({"x":np.array(x).flatten(),

"y":np.array(y).flatten(),

python图形界面?"colors":np.array(c).flatten()})

size=81

sc = plt.scatter(df['x'], df['y'], s=size, c=df['colors'], edgecolors='none')

pythonmatplotlib?lp = lambda i: plt.plot([],color=sc.cmap(sc.norm(i)), ms=np.sqrt(size), mec="none",

label="Feature {:g}".format(i), ls="", marker="o")[0]

handles = [lp(i) for i in np.unique(df["colors"])]

plt.legend(handles=handles)

plt.show()

另外,您也可以按颜色列中的值过滤数据框,例如使用groubpy,并为每个功能绘制一个散点图:

import pandas as pd

import numpy as np; np.random.seed(1)

import matplotlib.pyplot as plt

x = [np.random.normal(5,2, size=20), np.random.normal(10,1, size=20),

np.random.normal(5,1, size=20), np.random.normal(10,1, size=20)]

y = [np.random.normal(5,1, size=20), np.random.normal(5,1, size=20),

np.random.normal(10,2, size=20), np.random.normal(10,2, size=20)]

c = [np.ones(20)*(i+1) for i in range(4)]

df = pd.DataFrame({"x":np.array(x).flatten(),

"y":np.array(y).flatten(),

"colors":np.array(c).flatten()})

size=81

cmap = plt.cm.viridis

norm = plt.Normalize(df['colors'].values.min(), df['colors'].values.max())

for i, dff in df.groupby("colors"):

plt.scatter(dff['x'], dff['y'], s=size, c=cmap(norm(dff['colors'])),

edgecolors='none', label="Feature {:g}".format(i))

plt.legend()

plt.show()

两种方法产生相同的图:

tIUdy.png

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/88848.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息