使用以下代码,第一个等高线图具有网格线。对于第二个情节,我已经进口了seaborn,但网格线没有显示出来。我需要添加什么才能使网格线显示在第二个图上。
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
dx=0.05
x=np.arange(0,5+dx,dx)
y=x
X,Y = np.meshgrid(x,y)
Z = np.sin(X)**10+np.cos(10+Y*Y)*np.cos(X)
nbins=10
levels=mpl.ticker.MaxNLocator(nbins=nbins).tick_values(Z.min(),Z.max())
plt.figure()
plt.contourf(x,y,Z,levels=levels)
plt.colorbar()
plt.grid('on')
import seaborn as sns
sns.set_context("notebook")
sns.set_style("whitegrid")
plt.figure()
plt.contourf(x,y,Z,levels=levels)
plt.colorbar()
plt.grid('on')
plt.show()
答案 0 :(得分:2)
您需要更改axes.axisbelow
rc参数或contourf图的zorder。所以你可以做到
sns.set(context="notebook", style="whitegrid",
rc={"axes.axisbelow": False})
设置样式或
时plt.contourf(x, y, Z, levels=levels, zorder=0)
绘制情节时。