0
グラフ上に図形を描こうとしています。ここに私のコード... points = ...
とline = ...
で始まるグラフ上に図形をプロットするMatplotlib
def graphData(self, stock):
stock_file = Company.objects.get(ticker_name=stock)
stock_file = stock_file.data
stock_file = stock_file.replace("[","").replace("]","").replace("'","")
stock_file = re.sub("(([^,]*,){5}[^,]*),\s*","\\1\n",stock_file)
file_name = "/home/philip/PycharmProjects/stockmarket/static/stock_data/data_file.txt"
file = open(file_name, "w")
points = [[2, 4], [2, 8], [4, 6], [6, 8]]
line = plt.Polygon(points, closed=None, fill=None, edgecolor='r')
file.write(stock_file)
file.close()
date, closep, highp, lowp, openp, volume = np.loadtxt(file_name, delimiter=",", unpack=True, converters={ 0: date_converter })
fig = plt.figure()
ax1 = plt.subplot(1,1,1)
ax1.plot(date, openp)
ax1.plot(date, highp)
ax1.plot(date, lowp)
ax1.plot(date, closep)
ax1.grid(True)
ax1.xaxis.set_major_locator(mticker.MaxNLocator(10))
ax1.xaxis.set_major_formatter(mdates.DateFormatter('%d-%m-%Y'))
for label in ax1.xaxis.get_ticklabels():
label.set_rotation(90)
plt.subplots_adjust(left=.10, bottom=.22, right=.93, top=.95)
plt.xlabel('Date')
plt.ylabel('Stock Price')
plt.suptitle(stock+': Stock Price')
plt.show()
plt.savefig("/home/philip/PycharmProjects/stockmarket/static/graph.svg")
二つの別々の行は、私が試してみて、図形を描画するために追加されたコードされています。なぜこれは機能しないのですか?軸にPolygon
を追加する
うーん。まだ動作していないようです。システムエラーかどうかを確認するために私のコードでこれを試してください。 –
さて、私はこれを今プロットするようにしましたが、それ以外のデータではなく、プロットします。 –
'points'座標と' date'値と株価の値の関係は何ですか?例えば '(2,4)'がグラフ上のどこにあるのでしょうか? 'date'の範囲が' 2000-1-1'から '2016-1-1'までの範囲であればどこですか? – unutbu