Python matplotlib自定义轴阴影
我想自定义matplotlib绘图中的轴阴影。阴影看起来与我添加到情节中的其他补丁无关。我需要dx和dy至少为4,以显示我正在寻找的视角。由于唯一的参数是布尔轴,因此无法控制阴影深度。我试图自己创建阴影对象,并将其添加到图例中,但它无法正常工作。 请在此找到一个例子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
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()
当画面显示在屏幕上时,阴影没有被绘制出来,当我开始调整大小并设置在图例后面或附近时,阴影会以一种奇怪的方式出现,这取决于调整大小的方式。
这是我在调整大小前后奇怪阴影的快照