如何解决matplotlit 颜色条标题挂在图外
在确保图例标题在图中的同时指定我的颜色条图例位置的最佳方法是什么?有时位置会在右上角,如图所示;但在其他图中,它将是可变的,左上/左下/右。
如果解决方案不使用 inset_axes()
也没关系。
替代解决方案: 如果颜色条图例在子图的右侧,如果“我的图例”标题垂直在左侧,刻度标签在右侧和水平上(我不知道该怎么做),也可以那个)。
使用 Python 3.8。
## Second Plot
vals2 = ax2.scatter(df.x,df.y,edgecolors = 'none',c = df.z,norm = mcolors.LogNorm(),cmap=rainbow)
ax2.set_aspect('equal')
ax2.set_title('Subplot Title',style='italic');
ax2.set_xlabel('x');
ax2.set_ylabel('y');
cbaxes = inset_axes(ax2,width="30%",height="10%",location = 'upper right')
clb = plt.colorbar(vals2,cax=cbaxes,format = '%1.2f',orientation='horizontal');
clb.ax.set_title('My Legend')
解决方法
我仍然希望将颜色条(带有刻度标签和标题)放在子图中;但我确实找到了一种方法来执行替代解决方案:
vals2 = ax2.scatter(df.x,df.y,edgecolors = 'none',c = df.z,norm = mcolors.LogNorm(),cmap=rainbow)
ax2.set_aspect('equal')
ax2.set_title('Subplot Title',style='italic');
ax2.set_xlabel('x');
ax2.set_ylabel('y');
clb = fig.colorbar(slips2,ax=ax2,format = '%1.2g',location='right',aspect=25)
clb.ax.set_ylabel('My Legend')
clb.ax.yaxis.set_label_position('left')
颜色条比子图高,因为基于另一个子图(ax2
,未显示)中的限制,ax1
被约束为等于 xy 纵横比。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。