我有一个像这样的 ecdf 图:
penguins = sns.load_dataset("penguins")
fig, ax = plt.subplots(figsize = (10,8))
sns.ecdfplot(data=penguins, x="bill_length_mm", hue="species")
ax.axhline(.25, linestyle = '--', color ='#cfcfcf', lw = 2, alpha = 0.75)
Run Code Online (Sandbox Code Playgroud)
如何找到这条相交轴线上的x值?
import matplotlib.pyplot as plt
import numpy as np
# data
x=["IEEE", "Elsevier", "Others"]
y=[7, 6, 2]
import seaborn as sns
plt.legend()
plt.scatter(x, y, s=300, c="blue", alpha=0.4, linewidth=3)
plt.ylabel("No. of Papers")
plt.figure(figsize=(10, 4))
Run Code Online (Sandbox Code Playgroud)
我想制作一个如图所示的图表。我不确定如何提供期刊和会议类别的数据。(目前,我只包括一个)。另外,我不确定如何为每个类别添加不同的颜色。

一直在尝试修改我的情节,以便可以包装 xlabel。
看过类似问题的一些建议。
但我无法在这方面使用它们。
ax.set_xticklabels 代码不会包装标签。
plt.xticks 代码抛出错误 -
AttributeError: 'Text' object has no attribute 'expandtabs'
plt.figure(figsize = (7,5))
ax = sns.countplot(data = df3, x = df3.PaymentMethod, hue = df3.Churn)
#ax.set_xticklabels(ax.get_xticklabels(), ha="right", horizontalalignment = 'center', wrap = True)
plt.xticks([textwrap.fill(label, 10) for label in ax.get_xticklabels()],
rotation = 10, fontsize=8, horizontalalignment="center")
Run Code Online (Sandbox Code Playgroud)
在seaborn中,色调为组设置不同的颜色。我可以alpha根据 中的组进行设置吗JointGrid?或者甚至在单个数据点上?
sns.set_theme()
jg = sns.JointGrid(data=df_sns, x='x', y='y', hue='hue')
jg.plot_joint(sns.scatterplot)
jg.plot_marginals(sns.histplot, kde=False)
jg.set_axis_labels(xlabel='x', ylabel='y')
jg.fig.tight_layout()
Run Code Online (Sandbox Code Playgroud) 我有一个数据框,我想绘制 seaborn 热图:
import seaborn as sns
res = sns.heatmap(df, cmap='flare',xticklabels=1, yticklabels=1,linecolor='white',linewidths=0.5,
cbar=True,mask=df.isnull(),cbar_kws={'shrink': 0.6},vmin=vmin, vmax=vmax)
Run Code Online (Sandbox Code Playgroud)
我已经为 NaN 单元应用了掩码。现在,我想通过颜色图中没有的自定义颜色(例如蓝色)更改几个单元格的颜色,以表明这些单元格属于另一个类别。
我的问题是:是否可以将 2 个或更多不同颜色的蒙版应用于 seaborn 热图,或者手动将单元格的颜色更改为完全另一种颜色?
我有这三个子图,我需要在顶部匹配下方的两个子图的图例中设置大陆的颜色,即欧洲 = 蓝色,亚洲 = 红色,等等。有没有办法做到这一点?我正在使用 Python、seaborn 和 Matplotlib。这是我的代码和结果图:
fig = plt.figure(figsize=(20,10))
ax1 = plt.subplot(2, 1, 1)
diseases.plot(kind="barh", ax = ax1, width = 0.9, cmap = 'Set1_r')
ax1.set_xticks(np.arange(0,251,25))
ax1.set_ylabel('Countries', fontsize = 15)
ax1.legend(fontsize = 12)
ax2 = plt.subplot(2, 2, 3)
sns.barplot(x = smok_fem.female_smokers, y = smok_fem.index , hue='continent', data = smok_fem, ax = ax2,
dodge = False, palette = 'tab10')
ax2.set_xlabel('Female Smokers', fontsize = 14)
ax2.set_ylabel('Countries', fontsize = 14)
ax2.legend(fontsize = 14, markerscale = 2, facecolor = 'w')
ax3 = plt.subplot(2, …Run Code Online (Sandbox Code Playgroud) 我正在尝试生成不同的箱线图,描述某些产品系列和行业组(“生产”、“贸易”、“商业”、“休闲与福祉”)的变量分布。
我想知道:
在我正在使用的代码下方,这里有一张图像向您展示我得到的内容 --> Catplot Image。
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_context("talk")
boxplot = sns.catplot(
x='family',
y='lag',
hue="SF_type",
col="industry_group",
data=df1,
kind="box",
orient="v",
height=8,
aspect=2,
col_wrap=1,
order=fam_sort,
palette='Set3',
notch=True,
legend=True,
legend_out=True,
showfliers=False,
showmeans=True,
meanprops={
"marker":"o",
"markerfacecolor":"white",
"markeredgecolor":"black",
"markersize":"10"
}
)
boxplot.fig.suptitle("Boxplots by Product Basket, Industry Group & SF Type", y=1.14)
#repeat xticks for each plot
for ax in boxplot.axes:
plt.setp(ax.get_xticklabels(), visible=True, rotation=75)
plt.subplots_adjust(hspace=1.2, top = 1.1)
#remove axis titles
for ax in boxplot.axes.flatten(): …Run Code Online (Sandbox Code Playgroud) 在调整颜色条时遇到几个问题seaborn.clustermap。我试图:
我检查过文档没有figure.colorbar效果。
最小代码:
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
#data
corr = np.corrcoef(np.random.randn(10, 200))
#clustermap
kws = dict(cbar_kws=dict(label='Label', ticks=[0,0.50,1], orientation='horizontal'), figsize=(6, 6))
sns.clustermap(corr, cmap="Blues", xticklabels=False, yticklabels=False, **kws)
plt.show()
Run Code Online (Sandbox Code Playgroud)
我的颜色条距离热图底部很远。有办法让它靠近一点吗?
我的代码是:
import seaborn as sns
Granger2 = Granger
Granger2.columns = Granger_colnames
Granger2.index = Granger_rownames
fig, ax = plt.subplots(figsize=(6,25))
sns.heatmap(Granger2, cmap=rvb, cbar=True, ax=ax,linewidths=.5,cbar_kws={"orientation": "horizontal"})
ax.xaxis.tick_top() # x axis on top
ax.xaxis.set_label_position('top')
#Remove ticks
ax.tick_params(axis='both', which='both', length=0)
# Drawing the frame
ax.axhline(y = 0, color='k',linewidth = 1)
ax.axhline(y = Granger2.shape[0], color = 'k',linewidth = 1)
ax.axvline(x = 0, color = 'k', linewidth = 1)
ax.axvline(x = Granger2.shape[1], color = 'k', linewidth = 1)
plt.show()
Run Code Online (Sandbox Code Playgroud)
我有以下代码来绘制箱线图并将所有数据点覆盖在条形图上。
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import numpy.random as rnd
f = plt.figure(figsize=[18,12])
ax = f.add_subplot(111)
sns.boxplot(x='month', y='ffdi', hue='scenario', data=df_diff_concat, ax=ax)
sns.stripplot(x="month", y="ffdi",hue='scenario', data=df_diff_concat, ax=ax)
Run Code Online (Sandbox Code Playgroud)
数据点未与其所属条形的中线垂直对齐。
如何解决这个问题?
seaborn ×10
python ×9
matplotlib ×7
axis-labels ×1
boxplot ×1
bubble-chart ×1
catplot ×1
ecdf ×1
heatmap ×1
mask ×1
matlab ×1
pandas ×1
plot ×1