Python matplotlib自定义轴阴影

Python matplotlib自定义轴阴影,python,matplotlib,Python,Matplotlib,我想自定义matplotlib绘图中的轴阴影。阴影看起来与我添加到情节中的其他补丁无关。我需要dx和dy至少为4,以显示我正在寻找的视角。由于唯一的参数是布尔轴,因此无法控制阴影深度。我试图自己创建阴影对象,并将其添加到图例中,但它无法正常工作。 请在此找到一个例子 import wx import numpy as np from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg from matplotlib.figure

我想自定义matplotlib绘图中的轴阴影。阴影看起来与我添加到情节中的其他补丁无关。我需要dx和dy至少为4,以显示我正在寻找的视角。由于唯一的参数是布尔轴,因此无法控制阴影深度。我试图自己创建阴影对象,并将其添加到图例中,但它无法正常工作。 请在此找到一个例子

import wx
import numpy as np
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg
from matplotlib.figure import Figure
from matplotlib.legend import Legend
from matplotlib.patches import Shadow
from matplotlib.axes import Axes
from matplotlib.lines import Line2D

class Frame(wx.Frame):
    def __init__(self):
        # initialize
        wx.Frame.__init__(self, None)
        # create main sizer
        mainSizer = wx.BoxSizer(wx.VERTICAL)
        # create figure, canvas and matplotlib toolbar
        self.figure = Figure(figsize=(4.5,4), dpi=None)
        self.canvas = FigureCanvasWxAgg( self, -1, self.figure )
        # add canvas to sizer
        mainSizer.Add(self.canvas, proportion=1, flag=wx.ALL|wx.EXPAND)
        self.SetSizer(mainSizer)
        mainSizer.Fit(self)
        self.Show(True)  

# create parabola data to plot
data = np.array(range(100))**2/100.
# start the plot
app = wx.App(0)      
frame = Frame()
axes = frame.figure.add_axes((0.1,0.1,0.8,0.8))
# add line 
line = Line2D(xdata=range(len(data)), ydata=data)
axes.add_line(line)
# set axes limits
axes.set_xlim(left=0,right=len(data))
axes.set_ylim(bottom=data[0],top=data[-1])
# create legend
l = Legend(axes,[line],['parabola'], shadow=False)
s = Shadow(l.legendPatch, 5, -5)
# add legend and shadow to axes
axes.legend_ =l
axes.add_patch(s)
# draw canvas                 
frame.canvas.draw()

app.MainLoop()
当画面显示在屏幕上时,阴影没有被绘制出来,当我开始调整大小并设置在图例后面或附近时,阴影会以一种奇怪的方式出现,这取决于调整大小的方式。 这是我在调整大小前后奇怪阴影的快照