【发布时间】:2020-06-15 03:18:00
【问题描述】:
我使用 seaborn 包做了一个情节。这是代码:
ax = sns.pointplot(x='latency_condition', y='flow', color=colors[0], ci=95, data=df_new,
scale=.5, linestyles='dotted', errwidth=2, capsize=.3)
ax.set_xticklabels(ax.get_xticklabels(), rotation=45)
ax.set_xlabel("E(latency)", fontweight='bold')
ax.set_ylabel("Flow score", fontweight='bold')
ax.set_yticklabels(['min','','','neutral','','','max'])
ax.set(ylim = (10,70))
plt.axhline(y=40, color=colors[3], linestyle='--', linewidth=1)
plt.savefig("fig4_flow.pdf", bbox_inches='tight')
plt.show()
这一切都很好。现在,我在区间级别的 x 轴上有分类级别。它们代表延迟值,不幸的是,“丑陋”:[162、245、328、412、495、578]
如果我的 x 轴每 100 有刻度线,我会更喜欢它,例如,以提高可读性。但是,seaborn 将它们(正确地)视为分类级别,所以我不能只更改 x 轴。
我想做的是:
- 删除当前的 xticks 并用新的 xticks 替换它们(例如每 100 个)
- 这样做的方式是新的 xticks 尊重坐标系(因为旧的 xticks 也是均匀分布的,代表底层的连续体)。
【问题讨论】:
标签: python python-3.x matplotlib seaborn