# Showing only part of changed code from previous answer
# ....
axes[0].yaxis.tick_right()
axes[0].set_yticks(range(len(fluid_vp_1_2)))
maxWordLength = fluid_vp_1_2['level'].apply(lambda x: len(x)).max()
#formattedyticklabels = [r'$\bf{'+f"{t.rjust(maxWordLength)}"+r'}$'
# if t in variableNames else t.rjust(maxWordLength) for t in fluid_vp_1_2['level']]
formattedyticklabels = [r'$\bf{'+f"{t}"+r'}$'
if t in variableNames else t for t in fluid_vp_1_2['level']]
axes[0].set_yticklabels(formattedyticklabels, ha='center', position=(1.15, 0))
fig.tight_layout()
plt.show()
#formattedyticklabels = [r'$\bf{'+f"{t.rjust(maxWordLength)}"+r'}$'
# if t in variableNames else t.rjust(maxWordLength) for t in fluid_vp_1_2['level']]
#axes[0].set_yticklabels(formattedyticklabels, ha='center', position=(1.15, 0))
axes[0].set_yticklabels(fluid_vp_1_2['level'], ha='center', position=(1.15, 0))
for label in axes[0].get_yticklabels():
if label.get_text() in variableNames:
label.set_fontweight('bold')
1条答案
按热度按时间h79rfbju1#
您可以通过稍微更改代码将所有标签移动到两个图之间。首先,我删除了
rjust()
,这样就不会在标签中添加空格。然后,在set_ticklabels()
中,我添加了ha='center
和position=(1.15,0)
,这将根据需要对齐文本。如果你想将标签稍微向左或向右移动,你可以改变1. 15...希望这是你要找的...选项2
如前所述,如果
variableNames
中的字段中有空格,则会将其删除。为了避免这种情况,我使用响应here来更改答案....首先,在上面的代码中,您需要在两个位置将
history
更改为Medical History
-在字符串s
和数组variableNames
中。然后,不要使用formattedticklables
,只需将set_yticklables()
更改为fluid_vp_1_2['level']
,然后将其粘贴到variableNames中的标签label.set_fontweight('bold')
更新代码:
这将给予下面的情节…