2
1

More than 5 years have passed since last update.

matplotlib グラフ作成Tips (2) 上と右の軸を描画しない

Last updated at Posted at 2017-10-19

まずは作例を.

fig_mesh.png

この手の図を描く時,以下のようにしたいという希望があります.

  • 上と右の軸を消したい
  • 縦横比を1:1にしたい

これを実現するコード例を以下に示します.

fsz=10
ixx=20
fig = plt.figure(figsize=(ixx,int(ixx/aa*bb)),facecolor='w')
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams["font.size"] = fsz
plt.xlim([xmin,xmax])
plt.ylim([ymin,ymax])
plt.xlabel('x-direction (m)')
plt.ylabel('y-direction (m)')
plt.gca().spines['right'].set_visible(False)
plt.gca().spines['top'].set_visible(False)
plt.gca().yaxis.set_ticks_position('left')
plt.gca().xaxis.set_ticks_position('bottom')
plt.axes().set_aspect('equal', 'datalim')
#plt.gca().set_aspect('equal', adjustable='box')

これをaxesクラスで書くと...

fsz=10
ixx=10
fig = plt.figure(figsize=(ixx,int(ixx/aa*bb)),facecolor='w')
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams["font.size"] = fsz
ax1=plt.subplot(111)
ax1.set_xlim([xmin,xmax])
ax1.set_ylim([ymin,ymax])
ax1.set_xlabel('x-direction (m)')
ax1.set_ylabel('y-direction (m)')
ax1.spines['right'].set_visible(False)
ax1.spines['top'].set_visible(False)
ax1.yaxis.set_ticks_position('left')
ax1.xaxis.set_ticks_position('bottom')
ax1.set_aspect('equal', 'datalim')

以 上

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1