Как выделить график VIX выше уровня 30 красным цветом?Python

Программы на Python
Ответить
Anonymous
 Как выделить график VIX выше уровня 30 красным цветом?

Сообщение Anonymous »

Я хочу выделить части графика VIX, где индекс превышает 30 пунктов, красным цветом.
Следующий пример кода выглядит следующим образом:
import yfinance as yf
import matplotlib.pyplot as plt

# Fetch VIX data
vix_data = yf.download('^VIX', start='2020-01-01', end='2024-12-31')

# Extract the dates and VIX closing values
dates = vix_data.index
vix_close = vix_data['Close']

# Plot the VIX data
plt.figure(figsize=(12, 6))
plt.plot(dates, vix_close, label='VIX Close', color='blue', linewidth=1.5)

# Highlight regions where VIX is above 30
# TODO
# plt.fill_between(dates, vix_close, 30, where=(vix_close > 30), color='red', alpha=0.5, label='Above 30')

# Add threshold lines
plt.axhline(y=30, color='red', linestyle='--', label='Threshold (30 pts)')
plt.axhline(y=20, color='green', linestyle='--', label='Threshold (20 pts)')

# Add labels and title
plt.title('VIX Index with Highlights Above 30', fontsize=16)
plt.xlabel('Date', fontsize=12)
plt.ylabel('VIX Level', fontsize=12)
plt.legend(fontsize=10)
plt.grid(True)

# Show the plot
plt.show()

Мой код не смог выйти за пределы функции fill_between, поэтому я пометил его TODO.
Я новичок в matplotlib. Не могли бы вы посоветовать, как я могу исправить этот код Python?
Мой список инструментов используется, как показано ниже:
matplotlib 3.10.0rc1
yfinance 0.2.50


Подробнее здесь: https://stackoverflow.com/questions/792 ... -red-color
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»