So platzieren Sie Inline-Beschriftungen in einem LiniendiagrammPython

Python-Programme
Anonymous
 So platzieren Sie Inline-Beschriftungen in einem Liniendiagramm

Post by Anonymous »

In Matplotlib ist es nicht allzu schwierig, eine Legende zu erstellen (

Code: Select all

example_legend()
, unten), aber ich denke, es ist besser, Beschriftungen direkt auf den Kurven zu platzieren, die geplottet werden (wie in example_inline(), unten). Dies kann sehr umständlich sein, da ich die Koordinaten manuell angeben muss und wenn ich den Plot neu formatiere, muss ich wahrscheinlich die Beschriftungen neu positionieren. Gibt es eine Möglichkeit, in Matplotlib automatisch Beschriftungen für Kurven zu generieren? Bonuspunkte für die Möglichkeit, den Text in einem Winkel auszurichten, der dem Winkel der Kurve entspricht.

Code: Select all

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()
Image

Code: Select all

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

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post