我正在编写一段代码来模拟原子在电场和磁场中的相互作用.部分原因是我需要在给定高度上生成相互作用电位的三维图.生成这些图的完整代码非常长并且分成几个模块,但相关的绘图部分是:
# Function to plot 'PlotValues' at a height 'z'
def Plot_AtHeight(self, PlotValues, z=500, ReturnFig=False, ShowTime=False):
# Calls out to the relevant function to calculate the values and return
# these as an array
PlotArray = self.Get_AtHeight(PlotValues, z)
pylab.rcParams.update( \
{'axes.labelsize': 18,
'text.fontsize': 18,
'xtick.labelsize': 18,
'ytick.labelsize': 18
})
fig = pylab.figure()
ax = Axes3D(fig)
# Make the arrays of the points at which the values are calculated
X, Y = np.mgrid[Xmin:Xmax:complex(0,Xpoints),
Ymin:Ymax:complex(0,Ypoints)]
ax.plot_surface(X, Y, PlotArray, cmap=cm.jet)
ax.set_xlabel('Position, x (nm)') …Run Code Online (Sandbox Code Playgroud) 嘿,我试图将一个图例放在一个情节上,这样它就不会模糊图形.
import numpy as np
import matplotlib.pyplot as plt
X = np.linspace(0,100,11)
plt.plot(X,-X, label='plot 1')
plt.plot(X,-2*X, label='plot 2')
plt.plot(X,-3*X, label='plot 3')
leg=plt.legend(ncol=2)
leg.get_frame().set_visible(False)
plt.show()
Run Code Online (Sandbox Code Playgroud)
因此,在上面的最小工作示例中,我希望能够做的是将图例中的"plot 2"标签移动到右列,即直接在"plot 3"下面.
任何帮助将不胜感激,谢谢.