0

matplotlib を使用してヒート マップを生成しようとしています。

import matplotlib.pyplot as plt
import numpy as np
import sys
import re

data = np.random.rand(10, 10)
heatmap = plt.pcolor(data)

with open(sys.argv[1],'r') as iFile:
    for line in iFile:
    line=line.strip()
    values=re.split('[-:]',line)
    x=values[0].strip()
    y=values[1].strip()
    z=values[2].strip()
    data[y,x]=z

for y in range(data.shape[0]):
    for x in range(data.shape[1]):
        plt.text(x + 0.5, y + 0.5, '%.2f' % data[y, x],
             horizontalalignment='center',
             verticalalignment='center',)

plt.colorbar(heatmap)
plt.show()

データは次のように「x - y : 値」形式です

6 - 4 : 0.180671274019055
6 - 1 : 0.30475569499109
6 - 3 : 0.276460025706412
6 - 2 : 0.298002584369681
...
...
1 - 4 : 0.0961071651182192
1 - 1 : 0.259655770346209
1 - 3 : 0.308485173534571
1 - 2 : 0.278724535194018

質問: x と y の値は非常に動的で、変化する可能性があります (ここでは 1 から 6)。入力ファイルに基づいて軸を動的に設定したい。どんな助けでも大歓迎です、ありがとう!

4

1 に答える 1

1

Pyplot の API にはxlimylim関数があります。

http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.xlim http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.ylim

そのAPIページを検索すると、他の多くの軸関連の操作ルーチンもあります。

于 2013-06-21T22:08:27.313 に答える