Изменен цвет позвоночника оси X на основе двух массивов - PullRequest
0 голосов
/ 24 апреля 2019

Мой код выглядит так:

price = np.array(df.price) low_price = np.array(df['mid price'])

price равно: [nan,nan, 2, 3, nan,nan, 1]

low_price равно: [1, 2, 2, 3, 3, 4, 1]

Когда я их строю:

plt.plot(low_price, 'k', linewidth=2)
plt.plot(price, 'y', linewidth=2)

Они нанесены на одну линию разными цветами, но как я могу также изменить ось X? Понятия не имею .. спасибо!

Это более или менее связано с этим вопросом: Matplotlib: изменение цвета оси

Но я бы хотел изменить цвет только для определенных точек данных.

1 Ответ

1 голос
/ 24 апреля 2019

Один (не очень хороший) хак может состоять в том, чтобы нарисовать линию поверх части осей, отключив ее клип:

import numpy as np
import matplotlib.pyplot as plt

price = [np.nan, np.nan, 2, 3, np.nan, np.nan, 1]
low_price = [1, 2, 2, 3, 3, 4, 1]

plt.plot(low_price, "k", lw=2)
plt.plot(price, "y", lw=2)

# plot line on axes
line = plt.plot([2, 3], [0, 0], "y", lw=2)[0]
line.set_clip_on(False)  # turn off clip
plt.ylim(0, 4)  # set ylim so axes doesn't move
plt.show()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...