From eda84fa990d7f94247fc6c36351cb087217c43ea Mon Sep 17 00:00:00 2001 From: XANTRONIX Industrial Date: Thu, 13 Mar 2025 11:46:48 -0400 Subject: [PATCH] Implement SkewT.draw_series() Implement SkewT.draw_series() to plot a Series object --- lib/xmet/skew_t.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lib/xmet/skew_t.py b/lib/xmet/skew_t.py index 935c518..153bf28 100644 --- a/lib/xmet/skew_t.py +++ b/lib/xmet/skew_t.py @@ -8,6 +8,8 @@ from xmet.thermo import loft_parcel, moist_lapse_rate, \ LAPSE_RATE_DRY, PRESSURE_MAX, PRESSURE_MIN, \ PRESSURE_STEP +from xmet.series import Series + PRESSURE_LOG_MAX = math.log(PRESSURE_MAX) PRESSURE_LOG_MIN = math.log(PRESSURE_MIN) PRESSURE_LOG_RANGE = PRESSURE_LOG_MAX - PRESSURE_LOG_MIN @@ -140,6 +142,26 @@ class SkewTGraph(): cr.restore() + def draw_series(self, + cr: cairo.Context, + x: float, + y: float, + series: Series): + first = True + + for pressure in series: + temp = series[pressure] + + sx, sy = self.sample_to_screen(temp, pressure) + + if first: + cr.move_to(x + sx, y + sy) + first = False + else: + cr.line_to(x + sx, y + sy) + + cr.stroke() + def draw_sounding(self, cr: cairo.Context, x: float,