2013-06-21 6 views
0

Я пытаюсь создать тепловую карту, используя matplotlib.управляющие оси в 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() 

и данные в «х - у: значение» формат следующим

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 

Вопрос: х и у значения являются весьма динамичны и могут варьироваться в зависимости (здесь от 1 до 6). Я хочу динамически установить оси на основе входного файла. Любая помощь будет оценена, спасибо!

ответ

1

Pyplot имеет xlim и ylim функции в своем API.

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

Кроме того, многие другие манипуляции процедуры, связанные с осью, если вы будете искать вокруг этого API страницы.

+0

Спасибо, bojangler. Что помогает! – drk