Seaborn 在 Graph 中附加标签列以输出
Seaborn Append column of labels for output within Graph
我是 Seaborn 库的新手。
我想通过手动将新列附加到 results
来查看图表本身(数据点旁边)中用黑色文本标记的每个数据点。我该怎么做呢?如何将第 3 列(标签)作为参数传递?
import seaborn as sns
sns.scatterplot(x=results[:, 0], y=results[:, 1], alpha=1, s=100).plot()
fig = plt.gcf()
plt.scatter(x=results[:, 0], y=results[:, 1])
plt.draw()
plt.show()
我传入的数据results
:
results = [[-0.01951522, 0.01933503]
[-0.01793732, 0.01350751]
[ 0.00615655, 0.00632767]
[-0.0585989, -0.00142193]
[-0.0348609 , 0.00997727]
[ 0.10552081, -0.00200007]
[ 0.1394851, -0.00433918]
[-0.04782358, -0.01110567]
[ 0.0211212, 0.01102468]
[ 0.04887021, -0.00828152]
[ 0.08460241, 0.00123756]
[-0.02598796, -0.00897868]
[-0.05668114, -0.00262177]
[ 0.02583048, -0.01067982]
[-0.10160218, -0.00816926]
[-0.06857958, -0.00381181]]
这是当前输出的样子:
参见 问题。下次您可能希望 google 先回答您的问题。
Seaborn 包不提供 API 注释,但谢天谢地,Seaborn 是建立在 Matplotlib 之上的,
要添加注释,您可以使用 .text(x, y, s) 函数,它将 x,y 坐标指定为 float
并将文本指定为 str
.
import seaborn as sns
import numpy as np
results = np.array([[-0.01951522, 0.01933503], [-0.01793732, 0.01350751],[ 0.00615655, 0.00632767],[-0.0585989, -0.00142193],[-0.0348609 , 0.00997727],[ 0.10552081, -0.00200007],[ 0.1394851, -0.00433918],[-0.04782358, -0.01110567],[ 0.0211212, 0.01102468],[ 0.04887021, -0.00828152],[ 0.08460241, 0.00123756],[-0.02598796, -0.00897868],[-0.05668114, -0.00262177],[ 0.02583048, -0.01067982],[-0.10160218, -0.00816926],[-0.06857958, -0.00381181]])
ax = sns.scatterplot(x= results[:, 0], y=results[:, 1], alpha=1, s=100)
s = [str(x) for x in range(1, len(results))]
for point in range(0, len(results)-1):
ax.text(x=results[point, 0]+0.003, y=results[point, 1]-0.0012, s=s[point])
scatter plot with annotation
我是 Seaborn 库的新手。
我想通过手动将新列附加到 results
来查看图表本身(数据点旁边)中用黑色文本标记的每个数据点。我该怎么做呢?如何将第 3 列(标签)作为参数传递?
import seaborn as sns
sns.scatterplot(x=results[:, 0], y=results[:, 1], alpha=1, s=100).plot()
fig = plt.gcf()
plt.scatter(x=results[:, 0], y=results[:, 1])
plt.draw()
plt.show()
我传入的数据results
:
results = [[-0.01951522, 0.01933503]
[-0.01793732, 0.01350751]
[ 0.00615655, 0.00632767]
[-0.0585989, -0.00142193]
[-0.0348609 , 0.00997727]
[ 0.10552081, -0.00200007]
[ 0.1394851, -0.00433918]
[-0.04782358, -0.01110567]
[ 0.0211212, 0.01102468]
[ 0.04887021, -0.00828152]
[ 0.08460241, 0.00123756]
[-0.02598796, -0.00897868]
[-0.05668114, -0.00262177]
[ 0.02583048, -0.01067982]
[-0.10160218, -0.00816926]
[-0.06857958, -0.00381181]]
这是当前输出的样子:
参见
Seaborn 包不提供 API 注释,但谢天谢地,Seaborn 是建立在 Matplotlib 之上的,
要添加注释,您可以使用 .text(x, y, s) 函数,它将 x,y 坐标指定为 float
并将文本指定为 str
.
import seaborn as sns
import numpy as np
results = np.array([[-0.01951522, 0.01933503], [-0.01793732, 0.01350751],[ 0.00615655, 0.00632767],[-0.0585989, -0.00142193],[-0.0348609 , 0.00997727],[ 0.10552081, -0.00200007],[ 0.1394851, -0.00433918],[-0.04782358, -0.01110567],[ 0.0211212, 0.01102468],[ 0.04887021, -0.00828152],[ 0.08460241, 0.00123756],[-0.02598796, -0.00897868],[-0.05668114, -0.00262177],[ 0.02583048, -0.01067982],[-0.10160218, -0.00816926],[-0.06857958, -0.00381181]])
ax = sns.scatterplot(x= results[:, 0], y=results[:, 1], alpha=1, s=100)
s = [str(x) for x in range(1, len(results))]
for point in range(0, len(results)-1):
ax.text(x=results[point, 0]+0.003, y=results[point, 1]-0.0012, s=s[point])
scatter plot with annotation