如何在折线图中放置内联标签

10 浏览
0 Comments

如何在折线图中放置内联标签

在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')

带内联标签的图表

0