2017-04-26 9 views
0

プロットするサブプロットがあります。ここでは、2行目のサブプロット内のx軸の間隔を設定します。つまり、ax4ax6です。現在、図に示すように、1から100までのすべての値が出力されます。私はax4.set_xticks(range(1,100,5))を試しました。しかし、そこに示された範囲は1〜20であった.1〜100の範囲で、間隔が5であることを期待していた。1,5,10...95,100シーボーンプロットのx軸の間隔を設定する

現在、プロットは以下のようにx軸を持つ。私は最初の行のコードを追加していません。

enter image description here

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') 

答えて

1

Seaborn pointplotは、カテゴリプロットです。つまり、異なるカテゴリはx軸に沿って1つずつ配置されます。

したがって、xticksのロケータとフォーマッタを変更することになります。

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() 

enter image description here

関連する問題