2017-12-16 21 views
0

私はpython matplotlibを使って1つのグラフを作成しています。しかし、私は間違っている​​値です。コードを確認してください:matplotlibを使ってPythonグラフでX軸の値が正しくない

import cx_Oracle 
import collections 
import re 
import numpy as np 
import matplotlib.pyplot as plt 
con = cx_Oracle.connect('user/passwordenter image description [email protected]/XE') 
cur = con.cursor() 
cur.execute('select salary,employee_id from hr.employees where employee_id in(100,101)') 
graphArray = [] 


for row in cur: 
    startingInfo = str(row).replace(')','').replace('(','').replace('u\'','').replace("'","") 
    splitInfo = startingInfo.split(',') 
    graphArrayAppend = splitInfo[0]+','+splitInfo[1] 
    print graphArrayAppend 
    graphArray.append(graphArrayAppend) 
    datestamp, value = np.loadtxt(graphArray,delimiter=', ', unpack=True) 


plt.plot_date(datestamp, value, 'b-', linewidth=2) 
plt.show() 

出力については、以下の画像を参照してください:あなたはこの操作のために間違ったプロットを使用しているか、多分私は十分にあなたのコードを理解していない

matlab output chart

+1

投稿を更新してコードブロックを追加することを検討してください。 –

+0

あなたのコードのどこかでx軸を 'xlim()'で変更しましたか?これはautoscalingをオフにします。(「matplotlib」ドキュメントによると)(https://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.xlim) – MrT

+0

xlim()は軸を最大と最小の間で設定すると思います。しかし、私の問題は私が別の価値を得ていることです。私はX軸の変数値17000と24000を取得していますが、グラフでは、私はばかばかしい値を得ています。 –

答えて

0

..しかし、これを試してみてください。

con = cx_Oracle.connect('user/passwordenter image description [email protected]/XE') 
cur = con.cursor() 
cur.execute('select salary,employee_id from hr.employees where employee_id in(100,101)') 

あなたのコードで、あなたが後にそれらを分割するためにそれらを追加しようとしているので、ちょうど2つの配列を使用!

ar_salary = [] 
ar_emplID = [] 

for row in range(cur): 
    startingInfo = str(cur[row]).replace(')','').replace('(','').replace('u\'','').replace("'","") 
    splitInfo = startingInfo.split(',') 
    ar_salary.append(splitInfo[0]) 
    ar_emplID.append(splitInfo[1]) 

とだけではなくプロットを使用plot_dateを使用。

plt.plot(ar_salary, ar_emplID, 'b-', linewidth=2) 
plt.show() 

これはアドバイスに

Wordのあなたはそれをしたいかですが...:あなたはSAL 21000.0とid 103を使用してプロットを他の雇用者を追加しようとしている場合は

起こっていますenter image description here

をし、私はあなたがこのようなもっと何かしたいと思います:このように見えるようにenter image description here

あなたはy軸を使用してx軸のpossitionを変更してくださいD:

plt.plot(ar_emplID, ar_salary, 'b-', linewidth=2) 

EDIT:それはありませんがありますので、

np.loadtxtは、テキストファイルからロードするテキストに使用されますあなたのために使用してください。

+0

実際に問題をお寄せいただきありがとうございますplt.plot_dateを使用していました。実際、plt.plotを使う必要がありました。コードをデバッグしていただきありがとうございます。 –

関連する問題