设置海底图的x轴间隔

Amr*_*hna 2 python matplotlib python-3.x seaborn

我要绘制一组子图。在这里,我们如何在第二行的子图中将x轴的间隔设置ax4ax6。如图所示,当前打印从1到100的所有值。我试过了ax4.set_xticks(range(1,100,5))。但是这里显示的范围是1到20。我期望的范围是1到100,间隔为5,即1,5,10...95,100

当前,该图具有x轴,如下所示。我还没有为第一行添加代码。

在此处输入图片说明

yInit = initRes
yInit = yInit[(yInit['nodeSKT'] < 92) & (yInit['nodeSKT'] > 1)]

sns.set_context("paper", font_scale=2, rc={"lines.linewidth": 1.2})
fig, (ax4, ax5, ax6) = plt.subplots(nrows=1,ncols=3,figsize=(18,10))
plt.figure()

xval = 'nodeSKT'
sns.pointplot(x=xval, y='lemmaPrec', data=yInit,join=False,ax=ax4)
sns.pointplot(x=xval, y='wordPrec',color="#2ecc71",data=yInit, join=False,ax=ax4)
sns.pointplot(x=xval, y='lemmaReca', data=yInit,join=False,ax=ax5)
sns.pointplot(x=xval, y='wordReca',color="#2ecc71",data=yInit, join=False,ax=ax5)
sns.pointplot(x=xval, y='lemmaFsco', data=yInit,join=True,ax=ax6)
sns.pointplot(x=xval, y='wordFsco',color="#2ecc71",data=yInit, join=False,ax=ax6)
plt.savefig('lem_fscore.png')
Run Code Online (Sandbox Code Playgroud)

Imp*_*est 8

Seaborn pointplot是一个绝对的情节。这意味着可以简单地将不同类别沿x轴一一放置。

因此,该想法将是更改xtick的定位器和格式化程序。

import seaborn.apionly as sns
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
import numpy as np; np.random.seed(1)

x = np.random.randint(0,20,size=(100))
y = np.random.rand(100)

ax = sns.pointplot(x,y )
ax.xaxis.set_major_locator(ticker.MultipleLocator(5))
ax.xaxis.set_major_formatter(ticker.ScalarFormatter())

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明