2017-05-08 68 views
0

我正在使用Python 2.7並使用matplotlib軟件包進行繪圖。我有一個頂部的傳說情節。當我嘗試放大繪圖窗口以查看繪圖中的更多信息時,有時圖例會移出窗口。我無法弄清楚爲什麼會發生這種情況。但這並不是一直髮生的。我附上了代碼。列表x11,x22 ....,temp11,... temp25和humi11,... humi25是來自數據庫的數據。該圖顯示正確。但是,我正面臨着傳奇走出劇情窗口的奇怪狀況的問題。我也附上了圖片的部分供您參考。請提供您的見解。在放大Matplotlib繪圖窗口時,繪圖圖例不在窗口中

這是情節的正常觀點。
click here to view

這是放大後的情節視圖。看到圖例的一部分在窗口的角落可見。

click here to view

問候

Sriniketh

import matplotlib 
import matplotlib.pyplot as plt,mpld3 
import matplotlib.dates as mdates 
import numpy as np 
from matplotlib.backends.backend_tkagg importFigureCanvasTkAgg,NavigationToolbar2TkAgg 
from matplotlib.backend_bases import key_press_handler 
from matplotlib.figure import Figure 
import tkMessageBox 
from drawnow import * 
from Tkinter import * 
import Tkinter as tk 
from tkinter import ttk 
from dateutil.parser import parse 
import decimal 
plt.subplot(211) 
plt.title('Temperatur') 
plt.plot((x11), (temp11), 'ro-', label='M1-Node 1') 
plt.plot((x12), (temp12), 'go-', label='M1-Node 2') 
plt.plot((x13), (temp13), 'bo-', label='M1-Node 3') 
plt.plot((x14), (temp14), 'co-', label='M1-Node 4') 
plt.plot((x15), (temp15), 'mo-', label='M1-Node 5') 
plt.plot((x21), (temp21), 'ro--', label='M2-Node 1') 
plt.plot((x22), (temp22), 'go--', label='M2-Node 2') 
plt.plot((x23), (temp23), 'bo--', label='M2-Node 3') 
plt.plot((x24), (temp24), 'co--', label='M2-Node 4') 
plt.plot((x25), (temp25), 'mo--', label='M2-Node 5') 

plt.ylabel('Temperatur Grad C') 
# plt.legend(loc='upper left') 
plt.legend(bbox_to_anchor=(0.985, 0.89), 
      bbox_transform=plt.gcf().transFigure) 
plt.grid(True) 

plt.subplot(212) 
plt.title('Relativ Luftfeuchtigkeit') 
plt.plot((x11), (humi11), 'ro-', label='M1-Node 1') 
plt.plot((x12), (humi12), 'go-', label='M1-Node 2') 
plt.plot((x13), (humi13), 'bo-', label='M1-Node 3') 
plt.plot((x14), (humi14), 'co-', label='M1-Node 4') 
plt.plot((x15), (humi15), 'mo-', label='M1-Node 5') 
plt.plot((x21), (humi21), 'rd-', label='M2-Node 1') 
plt.plot((x22), (humi22), 'gd-', label='M2-Node 2') 
plt.plot((x23), (humi23), 'bd-', label='M2-Node 3') 
plt.plot((x24), (humi24), 'cd-', label='M2-Node 4') 
plt.plot((x25), (humi25), 'md-', label='M2-Node 5') 
plt.ylabel('Relativ Luftfeuchtigkeit') 
plt.grid(True) 
master = var1.get() 
plt.suptitle("Temperatur und Luftfeuchtigkeit - %s " % (master)) 

plt.show() 

回答

0

在傳說中的位置,

plt.legend(bbox_to_anchor=(0.985, 0.89), bbox_transform=plt.gcf().transFigure) 

你忘了指定的位置參數。在這種情況下,因爲你正在使用數字座標,這將是有意義的使用loc="upper right"loc=1

plt.legend(loc=1, bbox_to_anchor=(0.985, 0.89), bbox_transform=plt.gcf().transFigure) 

有關如何放置圖例敵人的陰謀的更多的見解,看到this answer

+0

謝謝。有效 !!! – Sri