在具有多个y轴图的seaborn中使用深色网格样式时,会出现问题。第三个轴是白色的,位于深色背景的外部。 是否可以扩展深色背景或将第三轴着色为背景?
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
sns.set_style("darkgrid")
colors = sns.color_palette('deep')
a = np.asarray([0., 1., 2., 3., 4., 5.])
b = np.sin(a)
c = np.sin(a/2)
d = np.sin(a/3)
fig = plt.figure()
host = fig.add_subplot(111)
par1 = host.twinx()
par2 = host.twinx()
host.set_xlabel("x")
host.set_ylabel("y1")
par1.set_ylabel("y2")
par2.set_ylabel("y3")
p1, = host.plot(a, b, color='r', label="y1")
p2, = par1.plot(a, c*2, color='b', label="y2")
p3, = par2.plot(a, d/2, color='g', label="y3")
lns = [p1, p2, p3]
host.legend(handles=lns, loc='lower center')
par2.spines['right'].set_position(('outward', 60))
par1.grid(False)
par2.grid(False)
host.yaxis.label.set_color(p1.get_color())
par1.yaxis.label.set_color(p2.get_color())
par2.yaxis.label.set_color(p3.get_color())
plt.show()