Gab*_*iel 5 matplotlib enthought python-2.7
我的代码的最小工作示例:
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
import numpy as np
from scipy.ndimage.filters import gaussian_filter
import numpy.random as nprnd
x = nprnd.randint(1000, size=5000)
y = nprnd.randint(1000, size=5000)
xmin, xmax = min(x), max(x)
ymin, ymax = min(y), max(y)
rang = [[xmin, xmax], [ymin, ymax]]
binsxy = [int((xmax - xmin) / 80), int((ymax - ymin) / 80)]
H, xedges, yedges = np.histogram2d(x, y, range=rang, bins=binsxy)
H_g = gaussian_filter(H, 2, mode='constant')
xline = 6.
yline = 4.
fig = plt.figure(figsize=(5, 5)) # create the top-level container
gs = gridspec.GridSpec(1, 1) # create a GridSpec object
ax0 = plt.subplot(gs[0, 0])
# Set minor ticks
ax0.minorticks_on()
# Set grid
ax0.grid(b=True, which='major', color='k', linestyle='-', zorder=1)
ax0.grid(b=True, which='minor', color='k', linestyle='-', zorder=1)
# Add vertical and horizontal lines
plt.axvline(x=xline, linestyle='-', color='white', linewidth=4, zorder=2)
plt.axhline(y=yline, linestyle='-', color='white', linewidth=4, zorder=2)
plt.text(0.5, 0.91, 'Some text', transform = ax0.transAxes, \
bbox=dict(facecolor='white', alpha=1.0), fontsize=12)
plt.imshow(H_g.transpose(), origin='lower')
plt.show()
Run Code Online (Sandbox Code Playgroud)
返回这个:

正如您所看到的,网格是在&行的顶部绘制的,即使我正在设置相反的方向.我怎样才能解决这个问题?axlineavlinezorder
我正在使用Canopy v 1.0.1.1190.
你zorder=2的太小了。将其增加到zorder=3和axhline并将axvline位于网格上方和标签下方:
plt.axvline(x=xline, linestyle='-', color='white', linewidth=4, zorder=3)
plt.axhline(y=yline, linestyle='-', color='white', linewidth=4, zorder=3)
Run Code Online (Sandbox Code Playgroud)

zorder例如zorder=10,如果您要进一步增加,则这些行将位于您的some text-label之上。可以在此处找到
有关zorder-values的默认设置的更多信息。
| 归档时间: |
|
| 查看次数: |
2470 次 |
| 最近记录: |