Во-первых, я прошу прощения, если эти вопросы уже задавались, я не смог найти решение в StackOverflow.
Я строю ECDF с использованием Seaborn, но для задержки мои ECDF не показывают много информациииспользуя обычную ось.
Пример: non-log-axis
Поэтому я изменил свой скрипт, чтобы сделать ось x логарифмической, используя ax.set_xscale('log')
, но результатбыл отключен.
cutoff-log-axis
Я прочитал эту проблему на GitHub, но так как это было несколько лет назад, мне интересно,это было решено.
Вот мой код для полноты:
def plot_cdfs(df, legend, nodes, axes):
ax1, ax2, ax3, ax4 = axes
# redirecting subplot according to the number of nodes
if nodes == '25':
sns.kdeplot(df[header], cumulative=True, legend=False, ax=ax1)
ax1.set_ylabel('ECDF', fontsize=16)
ax1.set_title('25 Nodes')
ax1.set_xlabel(label)
ax1.set_xscale('log')
leg_handles = ax1.get_legend_handles_labels()[0]
ax1.legend(leg_handles, legend[::4])
elif nodes == '50':
sns.kdeplot(df[header], cumulative=True, legend=False, ax=ax2)
ax2.set_title('50 Nodes')
ax2.set_xlabel(label)
ax2.set_xscale('log')
elif nodes == '100':
sns.kdeplot(df[header], cumulative=True, legend=False, ax=ax3)
ax3.set_title('100 Nodes')
ax3.set_xlabel(label)
ax3.set_xscale('log')
else:
sns.kdeplot(df[header], cumulative=True, legend=False, ax=ax4)
ax4.set_title('150 Nodes')
ax4.set_xlabel(label)
ax4.set_xscale('log')