

角度と半径の座標の2次元配列になった物理量をカラーマップで表示するのが目的です。  
現状、次のようなコードでデータを極座標からx、y座標に変換し出力することはできています。

[code]

    import matplotlib.pyplot as plt
    import numpy as np
    import sys
    from dac_read import dac_read
    t=100
    dac_name='./data/0???_rank=*.dac'
    data1, r, theta, z = dac_read(dac_name,dimension=3)
    #元からあるデータを読み取り、座標の配列r, theta, zと物理量の配列dataを作成
    theta_matrix, radius_matrix = np.meshgrid(theta,r)
    x = radius_matrix * np.cos(theta_matrix)
    y = radius_matrix * np.sin(theta_matrix)
    #x,y座標に変換
    z_grid=500
    plt.pcolormesh(x[z_grid,:,:],y[z_grid,:,:],data1[t,z_grid,:,:])
    plt.axes().set_aspect('equal')
    pp=plt.colorbar (orientation="vertical") 
    pp.set_label(str(br), fontname="Arial", fontsize=24)
    plt.show()
    
[/code]

ここで問題がありまして、出力結果が以下の様になり、337.5~360度の部分が表示されません。  
どうすれば表示できるでしょうか。

**出力結果**

[![画像の説明をここに入力](https://i.stack.imgur.com/LWg9s.png)](https://i.stack.imgur.com/LWg9s.png)


CC BY-SA 4.0
2020-01-09T09:52:34.507
62100
2020-01-13T09:35:17.433
2020-01-09T13:00:45.853
3060
36870
question
python matplotlib
極座標的に記録されたデータの配列をカラーマップで表示する方法


データが 337.5度までしかないからです。最後の部分を塗るには、先頭のデータを末尾に追加してやる必要があります。

以下の `### x, y, data1 を拡張` 〜 `###` の部分を参考にしてください。

[code]

    #!/usr/bin/env python
    
    import matplotlib.pyplot as plt
    import numpy as np
    import sys
    
    # サンプルデータを作成
    
    theta = [ 2 * np.pi * i / 16 for i in range(16) ]
    r = [ r for r in range(10) ]
    theta_matrix, radius_matrix = np.meshgrid(theta, r)
    
    x = radius_matrix * np.cos(theta_matrix)
    y = radius_matrix * np.sin(theta_matrix)
    
    data1 = np.array([
        [
            row for col in range(16)
        ]
        for row in range(10)
    ], dtype=np.float32)
    
    ### x, y, data1 を拡張
    
    x = np.append(x, x[:, 0:1], axis=1)
    y = np.append(y, y[:, 0:1], axis=1)
    data1 = np.append(data1, data1[:, 0:1], axis=1)
    
    ###
    
    plt.pcolormesh(x[:,:],y[:,:],data1[:,:])
    plt.axes().set_aspect('equal')
    pp=plt.colorbar (orientation="vertical") 
    pp.set_label('noname', fontname="Arial", fontsize=24)
    plt.show()
    
[/code]

[![描画結果](https://i.stack.imgur.com/k0zhQ.png)](https://i.stack.imgur.com/k0zhQ.png)


CC BY-SA 4.0
2020-01-13T09:35:17.433
62206
2020-01-13T09:35:17.433
5288
62100
answer