我想画一些虚线。我怎样才能做到这一点?我尝试以 2 种不同的方式使用 linestyle 并出现错误
#### approach 1
for x, m in x_list:
sns.distplot(x, hist=False, label=m, linestyle='--')
#### approach 2
for x, m in x_list:
sns.distplot(x, hist=False, label=m, kde_kws={'linestyle':'--'})
TypeError: distplot() got an unexpected keyword argument 'linestyle'
Run Code Online (Sandbox Code Playgroud) 我正在使用seaborn按照此答案中的描述创建具有边际分布的kdeplot 。我对代码进行了一些修改,以实现以下目的:
import matplotlib.pyplot as plt
import seaborn as sns
iris = sns.load_dataset("iris")
setosa = iris.loc[iris.species == "setosa"]
virginica = iris.loc[iris.species == "virginica"]
g = sns.JointGrid(x="sepal_width", y="petal_length", data=iris)
sns.kdeplot(setosa.sepal_width, setosa.sepal_length, cmap="Reds",
shade=False, shade_lowest=False, ax=g.ax_joint)
sns.kdeplot(virginica.sepal_width, virginica.sepal_length, cmap="Blues",
shade=False, shade_lowest=False, ax=g.ax_joint)
sns.distplot(setosa.sepal_width, kde=True, hist=False, color="r", ax=g.ax_marg_x)
sns.distplot(virginica.sepal_width, kde=True, hist=False, color="b", ax=g.ax_marg_x)
sns.distplot(setosa.sepal_length, kde=True, hist=False, color="r", ax=g.ax_marg_y, vertical=True)
sns.distplot(virginica.sepal_length, kde=True, hist=False, color="b", ax=g.ax_marg_y, vertical=True)
plt.show()
Run Code Online (Sandbox Code Playgroud)
无法以黑白打印。我如何才能以特殊方式(点划线/点划线/ ...)打印kdeplot和distplot线,以使其在黑白打印时能够区分?
我有这样的数据集
import numpy as np; np.random.seed(3)
import pandas as pd
import seaborn.apionly as sns
import matplotlib.pyplot as plt
def get_data(n=266, s=[5,13]):
val = np.c_[np.random.poisson(lam=s[0], size=n),
np.random.poisson(lam=s[1], size=n)].T.flatten()
comp = [s[0]]*n + [s[1]]*n
ov = np.random.choice(list("ABC"), size=2*n)
return pd.DataFrame({"val":val, "overlap":ov, "comp":comp})
data1 = get_data(s=[9,11])
data2 = get_data(s=[9,11])
data3 = get_data(s=[9,11])
#option1 combine
for i, df in enumerate([data1,data2,data3]):
df["data"] = ["data{}".format(i+1)] * len(df)
data = data1.append(data2)
data = data.append(data3)
bw = 2
a = sns.FacetGrid(data, col="overlap", hue="comp", row="data")
a = (a.map(sns.kdeplot, "val",bw=bw …Run Code Online (Sandbox Code Playgroud) 我无法更改seaborn中kde线的刻度线。
这是代码行:
sns.kdeplot(ax=ax2,x=dots['Longitude'],y=dots['Latitude'],kde_kws={'linestyle':':'},lw=0.1,levels=10)
Run Code Online (Sandbox Code Playgroud)
是不是少了什么东西?