質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1676閲覧

pythonエラー Basemap

o-fk

総合スコア32

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/07/19 15:20

イメージ説明
実行できれば図のようなものができるはずですが、エラーが出てしまいます。
Basemapがいつもうまくいかないです。

エラー

FileNotFoundError: [Errno 2] No such file or directory: 'C:\Prenshu\msmincho.ttc\epsg'
from mpl_toolkits.basemap import Basemap import struct import numpy as np import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties from mpl_toolkits.basemap import Basemap def rgb2hex(r,g,b): #RGB配列からHTMLなどに使われる16進数表現へ # r , g , b = 0-255 # int型 color = (r, g , b) html_color = '#%02X%02X%02X' % (color[0],color[1],color[2]) return html_color fp = FontProperties(fname='C:\Windows\Fonts\msmincho.ttc', size=11); plt.rcParams['font.family'] = 'Century' plt.rcParams['font.size'] = 11 fp2 = FontProperties(fname='C:\Windows\Fonts\msmincho.ttc', size=12); # setup north polar stereographic basemap. # The longitude lon_0 is at 6-o'clock, and the # latitude circle boundinglat is tangent to the edge # of the map at lon_0. Default value of lat_ts # (latitude of true scale) is pole. ni=288 nj=145 grid_interval=1.25 north = 70. south = 0. east = 200. west = 60. nx=int((east-west)/grid_interval)+1 ny=int((north-south)/grid_interval)+1 xgrid=np.linspace(west,east,nx) ygrid=np.linspace(south,north,ny) nxa=int(west/grid_interval) nya=int((south+90.0)/grid_interval) fig = plt.figure(figsize=(8.0,5.0)) ax = fig.add_subplot(111) f=open("Z500_2018012412.bin","rb") buf=f.read(4*ni*nj) val=struct.unpack("f"*ni*nj,buf) Z500=np.array(val).reshape(nj,ni) Z500=Z500[nya:nya+ny,nxa:nxa+nx] f.close() f=open("T500_2018012412.bin","rb") buf=f.read(4*ni*nj) val=struct.unpack("f"*ni*nj,buf) T500=np.array(val).reshape(nj,ni) T500=T500[nya:nya+ny,nxa:nxa+nx] f.close() f=open("U500_2018012412.bin","rb") buf=f.read(4*ni*nj) val=struct.unpack("f"*ni*nj,buf) U500=np.array(val).reshape(nj,ni) U500=U500[nya:nya+ny,nxa:nxa+nx] f.close() f=open("V500_2018012412.bin","rb") buf=f.read(4*ni*nj) val=struct.unpack("f"*ni*nj,buf) V500=np.array(val).reshape(nj,ni) V500=V500[nya:nya+ny,nxa:nxa+nx] f.close() #m = Basemap(projection='npstere',boundinglat=10,lon_0=270,resolution='l') m = Basemap(projection='lcc', llcrnrlon=100,llcrnrlat=0, urcrnrlon=190,urcrnrlat=50, lon_0=140,lat_0=40,lat_1=30,resolution='i') x,y = np.meshgrid(xgrid,ygrid) X,Y=m(x,y) A=np.arange(4800.0,6000.0,60.0) B=np.arange(4800.0,6000.0,300.0) for i in range(0,len(B)): A=np.delete(A,np.where(A==B[i]),0) C0 = ax.contourf(X,Y,T500-273.15, levels=[-42,-36,-30,-24,-18,-12,-6,0], colors=[rgb2hex(106,89,133),rgb2hex(50,98,131), rgb2hex(4,130,139),rgb2hex(76,174,152), rgb2hex(159,211,165),rgb2hex(226,219,172), rgb2hex(251,192,170),rgb2hex(227,145,159), rgb2hex(170,104,144)], extend='both',alpha=0.5) cb = fig.colorbar(C0,extend='both',extendfrac='auto', shrink=0.8,aspect=15,spacing='uniform', use_gridspec=False,anchor=(-0.3,0.5), ticks=[-42,-36,-30,-24,-18,-12,-6,0]) cb.ax.set_yticklabels(['-42','-36','-30','-24','-18','-12','-6',u'0\u2103'], fontproperties=fp) C = ax.contour(X,Y,Z500,A,colors='k',linewidths=0.5) C2 = ax.contour(X,Y,Z500,B,colors='k',linewidths=1.0) C2.clabel(fmt='%4d',inline_spacing=-6,fontsize=11) for j in range(0,nx,4): for i in range(0,ny,3): if U500[i,j]*U500[i,j]+V500[i,j]*V500[i,j] >= 100.: Q = plt.quiver(X[i,j],Y[i,j],U500[i,j],V500[i,j], color='black',angles='xy',pivot='mid', scale_units='inches',scale=100.0, width=0.00625,headwidth=2.5,headlength=5,headaxislength=4) Q2 = plt.quiver(X[i,j],Y[i,j],U500[i,j],V500[i,j], color='white',angles='xy',pivot='mid', scale_units='inches',scale=100.0, width=0.005,headwidth=3,headlength=6.25,headaxislength=5) plt.quiverkey(Q,6.2,0.7,20,'20 m/s', coordinates='inches',labelpos='W') plt.quiverkey(Q2,6.2,0.7,20,'', coordinates='inches',labelpos='W') coasts = m.drawcoastlines(zorder=1,linewidth=0.3,color='None') coasts_paths = coasts.get_paths() print(len(coasts_paths)) ipolygons = range(150)#range(len(coasts_paths)) print (ipolygons) for ipoly in ipolygons: r = coasts_paths[ipoly] # Convert into lon/lat vertices polygon_vertices = [(vertex[0],vertex[1]) for (vertex,code) in r.iter_segments(simplify=False)] px = [polygon_vertices[i][0] for i in range(len(polygon_vertices))] py = [polygon_vertices[i][1] for i in range(len(polygon_vertices))] m.plot(px,py,linewidth=0.3,zorder=3,color='black') #m.fillcontinents(color='coral',lake_color='aqua') # draw parallels and meridians. m.drawparallels(np.arange(-80.,81.,10.),dashes=[],linewidth=0.1,color='black') m.drawmeridians(np.arange(-180.,181.,10.),dashes=[],linewidth=0.1,color='black') m.drawparallels(np.arange(10.,50.,10.),dashes=[],linewidth=0.1,color='black',labels=[1,0,0,0]) m.drawmeridians(np.arange(110.,170.,10.),dashes=[],linewidth=0.1,color='black',labels=[0,0,0,1]) #m.drawmapboundary(fill_color='aqua') # draw tissot's indicatrix to show distortion. ax = plt.gca() #for y in np.linspace(m.ymax/20,19*m.ymax/20,10): # for x in np.linspace(m.xmax/20,19*m.xmax/20,10): # lon, lat = m(x,y,inverse=True) # poly = m.tissot(lon,lat,2.5,100,\ # facecolor='green',zorder=10,alpha=0.5) plt.title(u'高層天気図500hPa面 (2018年1月24日12UTC)',fontproperties=fp2) plt.savefig("Figure7.3.png", dpi = 300) plt.show()

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

R.Shigemori

2020/07/19 17:48

見たところ、'C:\\Prenshu\\msmincho.ttc\\epsg'というファイルまたはディレクトリーがないということですが、どこでこのファイルまたはディレクトリーを参照しているのかがわからないとアドバイスできないと思います。よって、エラーメッセージを全文掲載したほうがいいでしょう。
guest

回答1

0

ベストアンサー

エラーメッセージの最後にepsgが含まれているため、環境変数PROJ_LIBの設定に問題があります。対処方法としては

  1. epsgというディレクトリを探す
  2. 環境変数PROJ_LIBepsgの一つ上のディレクトリを設定する

例えばAnacondaでインストールしたPython 3.6では下記にありました。

C:\Users\ユーザ名\Anaconda3\envs\環境名\Library\share\epsg

上記の場合、ソースコードの上のほうに

python

1import os 2os.environ["PROJ_LIB"] = "C:\Users\ユーザ名\Anaconda3\envs\環境名\Library\share"

と書いてください。

投稿2020/07/19 20:08

yymmt

総合スコア1615

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

o-fk

2020/07/20 06:29

無事、出力できました!ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問