Как разместить встроенные метки на линейном графикеPython

Программы на Python
Anonymous
Как разместить встроенные метки на линейном графике

Сообщение Anonymous »

В Matplotlib составить легенду не так уж и сложно (

Код: Выделить всё

example_legend()
, ниже), но я думаю, что лучше размещать метки прямо на рисуемых кривых (как в примере example_inline() ниже). Это может быть очень затруднительно, поскольку мне приходится указывать координаты вручную, а если я переформатирую график, мне, вероятно, придется переместить метки. Есть ли способ автоматически создавать метки на кривых в Matplotlib? Бонусные баллы за возможность ориентировать текст под углом, соответствующим углу кривой.

Код: Выделить всё

import numpy as np
import matplotlib.pyplot as plt

def example_legend():
plt.clf()
x = np.linspace(0, 1, 101)
y1 = np.sin(x * np.pi / 2)
y2 = np.cos(x * np.pi / 2)
plt.plot(x, y1, label='sin')
plt.plot(x, y2, label='cos')
plt.legend()
Изображение

Код: Выделить всё

def example_inline():
plt.clf()
x = np.linspace(0, 1, 101)
y1 = np.sin(x * np.pi / 2)
y2 = np.cos(x * np.pi / 2)
plt.plot(x, y1, label='sin')
plt.plot(x, y2, label='cos')
plt.text(0.08, 0.2, 'sin')
plt.text(0.9, 0.2, 'cos')
Изображение


Подробнее здесь: https://stackoverflow.com/questions/169 ... -line-plot

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