gpt4 book ai didi

python - 为每个级别使用不同的格式分割 matplotlib 标题

转载 作者:太空宇宙 更新时间:2023-11-03 21:18:28 25 4
gpt4 key购买 nike

我正在尝试制作一个 matplotlib 图,它有四个级别的标题,每个级别都有不同的格式规范。

我读过类似的帖子here这有助于添加多级标题。然而,我仍然不确定如何使它们各自具有不同的颜色。有什么简单的方法可以实现这一点吗?

ax.set_title('Normalized occupied \n Neighbors')

\n 添加级别,但无法将“归一化占用”设置为黑色,将“邻居”设置为蓝色。

最佳答案

我能够基于 this official example 创建一个解决方案。正如您所看到的,该解决方案不是通用的,但适用于您的特定示例。

这里唯一的具体问题是x_pos = [0.3, 0.4],因为您希望将字幕对齐在中心。如果删除 x_pos 并仅使用 0.5,您将看到代码仍然有效,但对齐方式是左对齐。这里我使用y=1.2来指定相对坐标中标题的起始位置。 y=0 表示下 x 轴,y=1 表示上 x 轴。

我简化了几行代码以降低复杂性。

import matplotlib.pyplot as plt

def rainbow_title(x_pos, y, strings, colors, ax=None, **kw):
if ax is None:
ax = plt.gca()

for x, s, c in zip(x_pos, strings, colors):
text = ax.text(x, y, s + " ", color=c, **kw)
y *= 0.9

x_pos = [0.3, 0.4]
rainbow_title(x_pos, 1.2, "Normalized occupied\n Neighbors".split('\n'),
['black', 'blue'], size=18)

enter image description here

更改字体大小的简化版本

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

title = "Normalized occupied\n Neighbors"
x_pos = [0.3, 0.4]
sizes = [18, 14]
colors = ['black', 'blue']
y = 1.2

for x, s, c, size in zip(x_pos, title.split('\n'), colors, sizes):
text = ax.text(x, y, s + " ", color=c, size=size)
y *= 0.9

enter image description here

关于python - 为每个级别使用不同的格式分割 matplotlib 标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54505358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com