неправильный маркер легенды и метка из-за фракции в метке [дубликат]

Это возможно с амперсандом в SASS:

h3
  font-size: 20px
  margin-bottom: 10px
  .some-parent-selector &
    font-size: 24px
    margin-bottom: 20px

вывод CSS:

h3 {
  font-size: 20px;
  margin-bottom: 10px;
}
.some-parent-selector h3 {
  font-size: 24px;
  margin-bottom: 20px;
}
2
задан nosuchthingasstars 4 November 2016 в 14:54
поделиться

2 ответа

Установите для параметра text.latex.preview значение True:

import numpy as np
import matplotlib as mpl
mpl.rcParams['text.usetex'] = True
mpl.rcParams['text.latex.preview'] = True
import matplotlib.pyplot as plt

x = np.arange(10)
plt.plot(x, np.random.uniform(size=(10,)), c='red', label=r'test')
plt.scatter(x, np.random.uniform(size=(10,)), c='blue', label=r'test${}_{xy}$')
plt.legend(ncol=2)                                                      

plt.show()

Для эффекта аргумента preview также обратитесь к на этот пример .

4
ответ дан ImportanceOfBeingErnest 17 August 2018 в 14:45
поделиться

Вы можете посмотреть выравнивание текста в легенде Matplotlib .

Или вы можете просто сдвинуть второй текст легенды,

h_legend = plt.legend(ncol=2)
y_shift = -2.5
h_legend.texts[1].set_position((0, y_shift))

Вы можете набрать расстояние сдвига в зависимости от масштаба окна легенды, используя что-то вроде:

h_legend = plt.legend(ncol=2)    
renderer = plt.gcf().canvas.get_renderer()
y_shift = -0.2*h_legend.texts[0].get_window_extent(renderer).height
h_legend.texts[1].set_position((0, y_shift))

это сдвинет второй текст на 20% от полной высоты окна легенды.

1
ответ дан Community 17 August 2018 в 14:45
поделиться
  • 1
    Спасибо за быстрый ответ, @hashmuke. Мне любопытно, однако, есть ли способ автоматизировать перенос меток, так как мой фактический прецедент имеет много ярлыков, которые могут меняться со временем. – nosuchthingasstars 5 November 2016 в 18:50
Другие вопросы по тегам:

Похожие вопросы: