を参照してくださいthis issue内部markers
があります。 next()
はイテレータで作業する必要があります。あなたは、intertools
と1作成することができ
import itertools
mks = itertools.cycle(['o', 'x', '^', '+', '*', '8', 's', 'p', 'D', 'V'])
markers = [next(mks) for i in df["category"].unique()]
例:
これは少しやり過ぎていてもよく、あなたは、単に直接リストfromtマーカーを得ることができることを
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
dic={"A":[4,6,5], "B":[2,7,5], "category":['A','A',"B"]}
df=pd.DataFrame(dic)
import itertools
mks = itertools.cycle(['o', 'x', '^', '+', '*', '8', 's', 'p', 'D', 'V'])
markers = [next(mks) for i in df["category"].unique()]
sns.lmplot('A', 'B', data=df, hue='category', markers=markers, fit_reg=False)
plt.show()
注意、
marker = ['o', 'x', '^', '+', '*', '8', 's', 'p', 'D', 'V']
markers = [marker[i] for i in range(len(df["category"].unique()))]
完全な例:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
dic={"A":[4,6,5], "B":[2,7,5], "category":['A','A',"B"]}
df=pd.DataFrame(dic)
marker = ['o', 'x', '^', '+', '*', '8', 's', 'p', 'D', 'V']
markers = [marker[i] for i in range(len(df["category"].unique()))]
sns.lmplot('A', 'B', data=df, hue='category', markers=markers, fit_reg=False)
plt.show()
0123同じプロットで上記結果からの
両溶液: