Как построить xlabel в две линии разных цветов? - PullRequest
0 голосов
/ 15 мая 2019

У меня есть два разных параметра (строки y1 и y2) разных единиц, которые я хочу изобразить на одном рисунке, потому что их индивидуальные значения имеют одинаковую величину. Поэтому я хочу поместить их соответствующие единицы измерения (единицы y1 и единицы y2) в xlabel в один ряд и раскрасить каждый ряд после цвета линии. Как я могу это сделать?

import numpy as np
import matplotlib as plt

x1 = np.arange(0, 10, 1)
y1 = np.arange(10, 0, -1)
x2 = np.arange(11, 21, 1)
y2 = np.arange(0, 10, 1)

plt.figure()
plt.plot(x1, y1, 'blue')
plt.plot(x2, y2, 'red')
plt.xlabel('Unit y1\n''Unit y2')
plt.show()

1 Ответ

1 голос
/ 15 мая 2019

Одним из способов является использование plt.text для нанесения меток. Пока неясно, как вы хотите расположить ярлыки, я отвечу обоими возможными способами

Путь 1

import matplotlib.pyplot as plt

# Rest of the code

fig, ax = plt.subplots()
plt.plot(x1, y1, 'blue')
plt.plot(x2, y2, 'red')
plt.text(0.2, -0.15, 'Unit y1', color='blue', transform=ax.transAxes)
plt.text(0.7, -0.15, 'Unit y2', color='red', transform=ax.transAxes)
plt.show()

enter image description here

Путь 2

fig, ax = plt.subplots()
plt.plot(x1, y1, 'blue')
plt.plot(x2, y2, 'red')
plt.text(0.45, -0.15, 'Unit y1', color='blue', transform=ax.transAxes)
plt.text(0.45, -0.2, 'Unit y2', color='red', transform=ax.transAxes)
plt.show()

enter image description here

...