python - 居中多行图例标题
问题描述
我想将我的多行图例标题完全居中。
当标题跨越一行时,它是居中的。当它跨越多条线时,似乎最长的线居中,然后所有其他线都相对于最长的线左对齐。
我查看了matplotlib.font_manager.FontProperties
课程,在那里我看到我可以将标题加粗,但似乎没有任何居中选项。感谢任何建议!
fig, ax = plt.subplots()
ax.plot([0, 1, 2, 3], [4, 1, 2, 5], label='Very Long label A')
ax.plot([0, 1, 2, 3], [3, 5, 4, 1], label='Very Long label B')
leg = ax.legend()
leg.set_title('Legendary\nTitle', prop={'size': 12, 'weight':'bold'})
解决方案
使用的另一种方法TeX
是设置multialignment
图例标题的参数。我看不到在创建它时设置它的方法,但由于它只是一个 matplotlibText
对象,我们可以在使用该.set_multialignment()
函数设置标题后执行此操作,如下所示:
leg = ax.legend()
leg.set_title('Legendary\nTitle', prop={'size': 12, 'weight':'bold'})
leg.get_title().set_multialignment('center')
推荐阅读
- python - python:为什么用户脚本目录在 python 版本之间共享?
- java - Java - .jar 文件用尽堆但在 Eclipse 中执行不会
- delphi - 用 Delphi 10 编写的 DLL 在从 Delphi 6 调用时会出现访问冲突
- node.js - 从 Pump.io 服务器获取消费者密钥和签名
- twilio - Kamailio 消息太长
- powerbi - PowerBI 仪表板未导入所有记录
- angularjs - 在 signalR 集线器连接中传递相对 url
- ios - 使用发送自定义按钮在 UITableview 的新行中插入数据
- java - 优先队列java
- caching - 如何在 Safari 13 中禁用所有缓存