【发布时间】:2023-03-08 04:24:02
【问题描述】:
以下代码生成一个 seaborn 配对图。
我怎样才能使红点(b = 10.)在子图 c/a(左下角)中可见?
目前它几乎不可见,因为带有b = 4 和b = 5 的点似乎在之后被绘制并隐藏了。
不幸的是,对 DataFrame 进行排序没有帮助。
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
def supplyHueByB(x, bMax):
amountOfSegments = 8
myReturn = int(x * amountOfSegments / bMax)
return myReturn
myList = [
[0.854297, 1.973376, 0.187038],
[0.854297, 2.204028, 0.012476],
[0.854297, 10.0, 0.056573],
[0.854297, 5.0, 0.050635],
[0.854297, 4.0, 0.058926]
]
df = pd.DataFrame(myList)
df.columns=['a', 'b', 'c']
bMax = df.b.max()
hue = df.b.apply(lambda x: supplyHueByB(x, bMax))
g = sns.pairplot(
df,
corner=True,
diag_kws=dict(color=".6"),
vars=['a', 'b', 'c'],
plot_kws=dict(
hue=hue,
palette="coolwarm",
edgecolor='None',
s=80 # size
),
)
plt.subplots_adjust(bottom=0.1)
g.add_legend()
plt.show()
【问题讨论】: