2016-03-27 11 views
0

具体的には、右上隅の[659]を「659度」などに変更するにはどうすればよいですか?matplotlibのimshowプロットのデータ表示形式を変更するにはどうすればよいですか?

enter image description here

私は以下の回答で述べたすべてのスレッドをチェックして:matplotlib values under cursorを。しかし、それらのすべては、カーソルのx、yの位置に対処しているようです。私はデータ値を変更することに興味があります。私はapiで返信や関連する文書を見つけることができませんでした。

私はformat_coord(x, y)format_cursor_data(data)の両方を試しましたが、どちらも動作していないようです。

おかげで、 Sarith

PS:私のコードは、複数のモジュールであるとGUIアプリケーションの一部です。私は関連するセクションを共有することができます。 matplotlibのからexampleを変更することによって

+0

奇妙なことは、通常、それはあなたがすでにそのための機能を持っている必要がありますので、でも、x、y座標を示し、」doesnのこと..です – JeD

答えて

0

私はこのコードを持って:

これは度Z後とx、yおよびz値を表示します。

あなたは簡単にそれを変更したり、関連する機能をコピーしてあなたの側で動作させることができるはずです。

あなたはすでにformat_coordを試していたと言っていますが、機能を設定していないことがありますか? (最後から二番目のライン

""" 
Show how to modify the coordinate formatter to report the image "z" 
value of the nearest pixel given x and y 
""" 
import numpy as np 
import matplotlib.pyplot as plt 
import matplotlib.cm as cm 

X = 10*np.random.rand(5, 3) 

fig, ax = plt.subplots() 
ax.imshow(X, cmap=cm.jet, interpolation='nearest') 

numrows, numcols = X.shape 


def format_coord(x, y): 
    col = int(x + 0.5) 
    row = int(y + 0.5) 
    if col >= 0 and col < numcols and row >= 0 and row < numrows: 

     #get z from your data, given x and y 
     z = X[row, col] 

     #this only leaves two decimal points for readability 
     [x,y,z]=map("{0:.2f}".format,[x,y,z]) 

     #change return string of x,y and z to whatever you want 
     return 'x='+str(x)+', y='+str(y)+', z='+str(z)+" degrees" 
    else: 
     return 'x=%1.4f, y=%1.4f' % (x, y) 

#Set the function as the one used for display 
ax.format_coord = format_coord 
plt.show() 
+0

こんにちは、返信いただきありがとうございます。しかし、これはそれをしません。 "x = 0.01、y = 0.02 z = 0.40度[3.4]"(実際には混乱している)のようなものが表示されます。私が意味していたことは、「x = 0.01、y = 0.02、3.4度」のようなものでした。おそらく私はあまりにも多くを求めています:/ –

+0

どこから[3.4]を入手できますか?それは自動的に生成されますか? 'return 'x =' + str(x)+ '、y =' + str(y)+ '、z =' + str(z)+" degrees "を' return 'x =' + str (x)+ '、y =' + str(y)+ '、z =' + "Deg:" 'これは、少なくともx = 0.01、y = 0.02、Deg:[3.4] "' – JeD

+0

を表示する必要があります。私はmatplotlib 1.5.1を使用しています。ここにあなたのコードからのスクリーンショットがあります:https://www.dropbox.com/s/aim7h7o866ht4oq/Untitled.jpg?dl=0 –

関連する問題