【发布时间】:2019-01-22 04:27:03
【问题描述】:
我正在使用 seaborn 和 twinx 在一个图中绘制两条线。但是,如下所示,蓝线位于水平线下方,因为它被第二个图覆盖:
import seaborn as sns
import matplotlib.pyplot as plt
l1 = sns.lineplot(x=[0,1,2],y=[1,2,3],color="#0188A8")
ax1 = plt.gca()
ax2 = ax1.twinx()
l2 = sns.lineplot(x=[0,1,2], y=[100,200,300],color="#D42227")
plt.xlabel('Number of Selves',fontsize=13)
ax1.set_xticks([0,1,2])
ax1.set_yticks([0,1,2])
ax2.set_yticks([100,200,300])
做了一些谷歌搜索后,我发现this 很接近,但没有帮助。尝试他们的解决方案,轴刻度会被扭曲,因为两条线都绘制在第二个图上:
ax1 = plt.gca()
ax2 = ax1.twinx()
l1 = sns.lineplot(x=[0,1,2],y=[1,2,3],color="#0188A8")
l2 = sns.lineplot(x=[0,1,2], y=[100,200,300],color="#D42227")
plt.xlabel('Number of Selves',fontsize=13)
ax1.set_xticks([0,1,2])
ax1.set_yticks([0,1,2])
ax2.set_yticks([100,200,300])
我的问题是,蓝线如何位于水平网格线的顶部,同时保持刻度与第一张图片中的位置相同?
【问题讨论】:
标签: python matplotlib seaborn