aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/matplotlib/py2/mpl_toolkits/axisartist/clip_path.py
diff options
context:
space:
mode:
authormaxim-yurchuk <maxim-yurchuk@yandex-team.com>2025-02-11 13:26:52 +0300
committermaxim-yurchuk <maxim-yurchuk@yandex-team.com>2025-02-11 13:57:59 +0300
commitf895bba65827952ed934b2b46f9a45e30a191fd2 (patch)
tree03260c906d9ec41cdc03e2a496b15d407459cec0 /contrib/python/matplotlib/py2/mpl_toolkits/axisartist/clip_path.py
parent5f7060466f7b9707818c2091e1a25c14f33c3474 (diff)
downloadydb-f895bba65827952ed934b2b46f9a45e30a191fd2.tar.gz
Remove deps on pandas
<https://github.com/ydb-platform/ydb/pull/14418> <https://github.com/ydb-platform/ydb/pull/14419> \-- аналогичные правки в gh Хочу залить в обход синка, чтобы посмотреть удалится ли pandas в нашей gh репе через piglet commit_hash:abca127aa37d4dbb94b07e1e18cdb8eb5b711860
Diffstat (limited to 'contrib/python/matplotlib/py2/mpl_toolkits/axisartist/clip_path.py')
-rw-r--r--contrib/python/matplotlib/py2/mpl_toolkits/axisartist/clip_path.py135
1 files changed, 0 insertions, 135 deletions
diff --git a/contrib/python/matplotlib/py2/mpl_toolkits/axisartist/clip_path.py b/contrib/python/matplotlib/py2/mpl_toolkits/axisartist/clip_path.py
deleted file mode 100644
index 8507b09b075..00000000000
--- a/contrib/python/matplotlib/py2/mpl_toolkits/axisartist/clip_path.py
+++ /dev/null
@@ -1,135 +0,0 @@
-from __future__ import (absolute_import, division, print_function,
- unicode_literals)
-
-import six
-from six.moves import zip
-
-import numpy as np
-from math import degrees
-import math
-import warnings
-
-def atan2(dy, dx):
- if dx == 0 and dy == 0:
- warnings.warn("dx and dy is 0")
- return 0
- else:
- return math.atan2(dy, dx)
-
-# FIXME : The current algorithm seems to return incorrect angle when the line
-# ends at the boundary.
-
-def clip(xlines, ylines, x0, clip="right", xdir=True, ydir=True):
-
- clipped_xlines = []
- clipped_ylines = []
-
- _pos_angles = []
-
- if xdir:
- xsign = 1
- else:
- xsign = -1
-
- if ydir:
- ysign = 1
- else:
- ysign = -1
-
-
- for x, y in zip(xlines, ylines):
-
- if clip in ["up", "right"]:
- b = (x < x0).astype("i")
- db = b[1:] - b[:-1]
- else:
- b = (x > x0).astype("i")
- db = b[1:] - b[:-1]
-
-
- if b[0]:
- ns = 0
- else:
- ns = -1
- segx, segy = [], []
- for (i,) in np.argwhere(db!=0):
- c = db[i]
- if c == -1:
- dx = (x0 - x[i])
- dy = (y[i+1] - y[i]) * (dx/ (x[i+1] - x[i]))
- y0 = y[i] + dy
- clipped_xlines.append(np.concatenate([segx, x[ns:i+1], [x0]]))
- clipped_ylines.append(np.concatenate([segy, y[ns:i+1], [y0]]))
- ns = -1
- segx, segy = [], []
-
- if dx == 0. and dy == 0:
- dx = x[i+1] - x[i]
- dy = y[i+1] - y[i]
-
- a = degrees(atan2(ysign*dy, xsign*dx))
- _pos_angles.append((x0, y0, a))
-
- elif c == 1:
- dx = (x0 - x[i])
- dy = (y[i+1] - y[i]) * (dx / (x[i+1] - x[i]))
- y0 = y[i] + dy
- segx, segy = [x0], [y0]
- ns = i+1
-
- if dx == 0. and dy == 0:
- dx = x[i+1] - x[i]
- dy = y[i+1] - y[i]
-
- a = degrees(atan2(ysign*dy, xsign*dx))
- _pos_angles.append((x0, y0, a))
-
- if ns != -1:
- clipped_xlines.append(np.concatenate([segx, x[ns:]]))
- clipped_ylines.append(np.concatenate([segy, y[ns:]]))
-
- #clipped_pos_angles.append(_pos_angles)
-
-
- return clipped_xlines, clipped_ylines, _pos_angles
-
-
-def clip_line_to_rect(xline, yline, bbox):
-
- x0, y0, x1, y1 = bbox.extents
-
- xdir = x1 > x0
- ydir = y1 > y0
-
- if x1 > x0:
- lx1, ly1, c_right_ = clip([xline], [yline], x1, clip="right", xdir=xdir, ydir=ydir)
- lx2, ly2, c_left_ = clip(lx1, ly1, x0, clip="left", xdir=xdir, ydir=ydir)
- else:
- lx1, ly1, c_right_ = clip([xline], [yline], x0, clip="right", xdir=xdir, ydir=ydir)
- lx2, ly2, c_left_ = clip(lx1, ly1, x1, clip="left", xdir=xdir, ydir=ydir)
-
- if y1 > y0:
- ly3, lx3, c_top_ = clip(ly2, lx2, y1, clip="right", xdir=ydir, ydir=xdir)
- ly4, lx4, c_bottom_ = clip(ly3, lx3, y0, clip="left", xdir=ydir, ydir=xdir)
- else:
- ly3, lx3, c_top_ = clip(ly2, lx2, y0, clip="right", xdir=ydir, ydir=xdir)
- ly4, lx4, c_bottom_ = clip(ly3, lx3, y1, clip="left", xdir=ydir, ydir=xdir)
-
-
- # lx1, ly1, c_right_ = clip([xline], [yline], x1, clip="right")
- # lx2, ly2, c_left_ = clip(lx1, ly1, x0, clip="left")
- # ly3, lx3, c_top_ = clip(ly2, lx2, y1, clip="right")
- # ly4, lx4, c_bottom_ = clip(ly3, lx3, y0, clip="left")
-
- #c_left = [((x, y), (a+90)%180-180) for (x, y, a) in c_left_ \
- # if bbox.containsy(y)]
- c_left = [((x, y), (a+90)%180-90) for (x, y, a) in c_left_
- if bbox.containsy(y)]
- c_bottom = [((x, y), (90 - a)%180) for (y, x, a) in c_bottom_
- if bbox.containsx(x)]
- c_right = [((x, y), (a+90)%180+90) for (x, y, a) in c_right_
- if bbox.containsy(y)]
- c_top = [((x, y), (90 - a)%180+180) for (y, x, a) in c_top_
- if bbox.containsx(x)]
-
- return list(zip(lx4, ly4)), [c_left, c_bottom, c_right, c_top]