2017-05-08 57 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