rustplotlib 0.4.0__tar.gz → 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/Cargo.lock +1 -1
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/Cargo.toml +1 -1
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/PKG-INFO +1 -1
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/pyproject.toml +1 -1
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/python/rustplotlib/__init__.py +11 -7
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/python/rustplotlib/pyplot.py +332 -0
- rustplotlib-1.0.0/python/rustplotlib/pyplot.pyi +96 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/.github/workflows/ci.yml +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/.gitignore +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/LICENSE +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/README.md +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/ROADMAP.md +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/dados/Data/PerfisTemp_rustplotlib.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/python/rustplotlib/animation.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/python/rustplotlib/backends/__init__.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/python/rustplotlib/backends/backend_inline.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/python/rustplotlib/backends/backend_pdf.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/python/rustplotlib/colors.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/python/rustplotlib/cycler.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/python/rustplotlib/dates.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/python/rustplotlib/font_manager.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/python/rustplotlib/gridspec.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/python/rustplotlib/mpl_toolkits/__init__.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/python/rustplotlib/mpl_toolkits/mplot3d/__init__.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/python/rustplotlib/patches.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/python/rustplotlib/style/__init__.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/python/rustplotlib/ticker.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/python/rustplotlib/widgets.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/bar.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/bar3d.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/barh.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/boxplot.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/contour.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/errorbar.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/fill_between.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/fill_betweenx.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/hexbin.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/hist.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/image.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/legend.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/line2d.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/line3d.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/mod.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/patches.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/pie.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/quiver.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/scatter.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/scatter3d.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/stem.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/step.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/streamplot.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/surface3d.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/violin.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/artists/wireframe3d.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/axes.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/axes3d.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/colors.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/figure.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/fonts/DejaVuSans.ttf +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/lib.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/projection3d.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/text.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/ticker.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/transforms.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/src/window.rs +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/tests/test_3d.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/tests/test_benchmark.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/tests/test_colors.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/tests/test_figure.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/tests/test_phase6_7.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/tests/test_phase8.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/tests/test_pyplot.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/tests/test_ticker.py +0 -0
- {rustplotlib-0.4.0 → rustplotlib-1.0.0}/tests/test_transforms.py +0 -0
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
from rustplotlib._rustplotlib import __version__
|
|
2
2
|
from rustplotlib import pyplot
|
|
3
3
|
from rustplotlib import style
|
|
4
|
-
from rustplotlib import colors
|
|
5
|
-
from rustplotlib import gridspec
|
|
6
|
-
from rustplotlib import cycler
|
|
7
4
|
from rustplotlib import animation
|
|
8
5
|
from rustplotlib import widgets
|
|
9
6
|
from rustplotlib import dates
|
|
10
7
|
from rustplotlib import backends
|
|
8
|
+
from rustplotlib import font_manager
|
|
9
|
+
from rustplotlib import ticker
|
|
10
|
+
from rustplotlib import patches
|
|
11
|
+
from rustplotlib import colors
|
|
12
|
+
from rustplotlib import gridspec
|
|
13
|
+
from rustplotlib import cycler
|
|
11
14
|
|
|
12
|
-
__all__ = ["pyplot", "style", "
|
|
13
|
-
"
|
|
15
|
+
__all__ = ["pyplot", "style", "animation", "widgets", "dates", "backends",
|
|
16
|
+
"font_manager", "ticker", "patches", "colors", "gridspec", "cycler",
|
|
17
|
+
"__version__", "use"]
|
|
14
18
|
|
|
15
19
|
|
|
16
20
|
def use(backend):
|
|
17
21
|
"""Set the rendering backend (compatibility stub)."""
|
|
18
|
-
from rustplotlib import backends
|
|
19
|
-
|
|
22
|
+
from rustplotlib import backends as _backends
|
|
23
|
+
_backends._current_backend = backend.lower()
|
|
@@ -54,6 +54,40 @@ class SpinesProxy:
|
|
|
54
54
|
return SpineProxy(self._fig, self._id, key)
|
|
55
55
|
|
|
56
56
|
|
|
57
|
+
class AxisProxy:
|
|
58
|
+
"""Stub proxy for a single axis (x or y) — matplotlib.axis.Axis compatibility."""
|
|
59
|
+
|
|
60
|
+
def set_major_formatter(self, formatter):
|
|
61
|
+
pass
|
|
62
|
+
|
|
63
|
+
def set_minor_formatter(self, formatter):
|
|
64
|
+
pass
|
|
65
|
+
|
|
66
|
+
def set_major_locator(self, locator):
|
|
67
|
+
pass
|
|
68
|
+
|
|
69
|
+
def set_minor_locator(self, locator):
|
|
70
|
+
pass
|
|
71
|
+
|
|
72
|
+
def set_visible(self, b):
|
|
73
|
+
pass
|
|
74
|
+
|
|
75
|
+
def set_ticks_position(self, position):
|
|
76
|
+
pass
|
|
77
|
+
|
|
78
|
+
def set_label_position(self, position):
|
|
79
|
+
pass
|
|
80
|
+
|
|
81
|
+
def get_major_ticks(self):
|
|
82
|
+
return []
|
|
83
|
+
|
|
84
|
+
def get_minor_ticks(self):
|
|
85
|
+
return []
|
|
86
|
+
|
|
87
|
+
def set_tick_params(self, **kwargs):
|
|
88
|
+
pass
|
|
89
|
+
|
|
90
|
+
|
|
57
91
|
class AxesProxy:
|
|
58
92
|
"""Python wrapper around a Rust axes, accessed by ID."""
|
|
59
93
|
|
|
@@ -607,6 +641,89 @@ class AxesProxy:
|
|
|
607
641
|
"""Stub for secondary y-axis — returns self for chaining."""
|
|
608
642
|
return self
|
|
609
643
|
|
|
644
|
+
def set_frame_on(self, b):
|
|
645
|
+
pass
|
|
646
|
+
|
|
647
|
+
def get_xlim(self):
|
|
648
|
+
return (0, 1) # stub
|
|
649
|
+
|
|
650
|
+
def get_ylim(self):
|
|
651
|
+
return (0, 1) # stub
|
|
652
|
+
|
|
653
|
+
def get_xaxis(self):
|
|
654
|
+
return AxisProxy()
|
|
655
|
+
|
|
656
|
+
def get_yaxis(self):
|
|
657
|
+
return AxisProxy()
|
|
658
|
+
|
|
659
|
+
@property
|
|
660
|
+
def xaxis(self):
|
|
661
|
+
return AxisProxy()
|
|
662
|
+
|
|
663
|
+
@property
|
|
664
|
+
def yaxis(self):
|
|
665
|
+
return AxisProxy()
|
|
666
|
+
|
|
667
|
+
def set_position(self, pos):
|
|
668
|
+
pass
|
|
669
|
+
|
|
670
|
+
def get_position(self):
|
|
671
|
+
return [0, 0, 1, 1]
|
|
672
|
+
|
|
673
|
+
def contains(self, event):
|
|
674
|
+
return False, {}
|
|
675
|
+
|
|
676
|
+
def format_coord(self, x, y):
|
|
677
|
+
return f'x={x:.4g}, y={y:.4g}'
|
|
678
|
+
|
|
679
|
+
def relim(self):
|
|
680
|
+
pass
|
|
681
|
+
|
|
682
|
+
def autoscale_view(self, **kwargs):
|
|
683
|
+
pass
|
|
684
|
+
|
|
685
|
+
def set_navigate(self, b):
|
|
686
|
+
pass
|
|
687
|
+
|
|
688
|
+
def get_children(self):
|
|
689
|
+
return []
|
|
690
|
+
|
|
691
|
+
def has_data(self):
|
|
692
|
+
return True
|
|
693
|
+
|
|
694
|
+
def can_pan(self):
|
|
695
|
+
return False
|
|
696
|
+
|
|
697
|
+
def can_zoom(self):
|
|
698
|
+
return False
|
|
699
|
+
|
|
700
|
+
def get_label(self):
|
|
701
|
+
return ''
|
|
702
|
+
|
|
703
|
+
def set_label(self, s):
|
|
704
|
+
pass
|
|
705
|
+
|
|
706
|
+
def set_zorder(self, level):
|
|
707
|
+
pass
|
|
708
|
+
|
|
709
|
+
def get_zorder(self):
|
|
710
|
+
return 0
|
|
711
|
+
|
|
712
|
+
def get_patch(self):
|
|
713
|
+
return None
|
|
714
|
+
|
|
715
|
+
def get_transData(self):
|
|
716
|
+
return None
|
|
717
|
+
|
|
718
|
+
def get_transAxes(self):
|
|
719
|
+
return None
|
|
720
|
+
|
|
721
|
+
def set_clip_on(self, b):
|
|
722
|
+
pass
|
|
723
|
+
|
|
724
|
+
def set_picker(self, picker):
|
|
725
|
+
pass
|
|
726
|
+
|
|
610
727
|
|
|
611
728
|
class TwinAxesProxy:
|
|
612
729
|
"""Python wrapper for a twin (right-side y-axis) axes."""
|
|
@@ -842,6 +959,50 @@ class FigureProxy:
|
|
|
842
959
|
else:
|
|
843
960
|
return AxesProxy(self._fig, idx)
|
|
844
961
|
|
|
962
|
+
def get_axes(self):
|
|
963
|
+
return self._axes
|
|
964
|
+
|
|
965
|
+
def get_size_inches(self):
|
|
966
|
+
return (6.4, 4.8) # default
|
|
967
|
+
|
|
968
|
+
def get_dpi(self):
|
|
969
|
+
return 100
|
|
970
|
+
|
|
971
|
+
def set_dpi(self, dpi):
|
|
972
|
+
pass
|
|
973
|
+
|
|
974
|
+
def clf(self):
|
|
975
|
+
pass
|
|
976
|
+
|
|
977
|
+
def clear(self):
|
|
978
|
+
pass
|
|
979
|
+
|
|
980
|
+
def add_axes(self, rect, **kwargs):
|
|
981
|
+
return _gca()
|
|
982
|
+
|
|
983
|
+
def get_tight_layout(self):
|
|
984
|
+
return False
|
|
985
|
+
|
|
986
|
+
def set_tight_layout(self, tight):
|
|
987
|
+
pass
|
|
988
|
+
|
|
989
|
+
@property
|
|
990
|
+
def axes(self):
|
|
991
|
+
return self._axes
|
|
992
|
+
|
|
993
|
+
@property
|
|
994
|
+
def number(self):
|
|
995
|
+
return 1
|
|
996
|
+
|
|
997
|
+
def align_labels(self, axs=None):
|
|
998
|
+
pass
|
|
999
|
+
|
|
1000
|
+
def align_xlabels(self, axs=None):
|
|
1001
|
+
pass
|
|
1002
|
+
|
|
1003
|
+
def align_ylabels(self, axs=None):
|
|
1004
|
+
pass
|
|
1005
|
+
|
|
845
1006
|
|
|
846
1007
|
def _to_list(data):
|
|
847
1008
|
# Handle pandas Series/Index
|
|
@@ -1349,3 +1510,174 @@ def _handle_categorical(data):
|
|
|
1349
1510
|
positions = list(range(len(labels)))
|
|
1350
1511
|
return positions, labels
|
|
1351
1512
|
return _to_list(data), None
|
|
1513
|
+
|
|
1514
|
+
|
|
1515
|
+
# --- Phase 9: Additional pyplot compatibility functions ---
|
|
1516
|
+
|
|
1517
|
+
|
|
1518
|
+
def clf():
|
|
1519
|
+
"""Clear current figure."""
|
|
1520
|
+
global _current_figure, _current_axes_id
|
|
1521
|
+
_current_figure = None
|
|
1522
|
+
_current_axes_id = None
|
|
1523
|
+
|
|
1524
|
+
|
|
1525
|
+
def cla():
|
|
1526
|
+
"""Clear current axes."""
|
|
1527
|
+
close()
|
|
1528
|
+
|
|
1529
|
+
|
|
1530
|
+
def gcf():
|
|
1531
|
+
"""Get current figure."""
|
|
1532
|
+
_ensure_figure()
|
|
1533
|
+
return FigureProxy(_current_figure, [_gca()])
|
|
1534
|
+
|
|
1535
|
+
|
|
1536
|
+
def gca(**kwargs):
|
|
1537
|
+
"""Get current axes."""
|
|
1538
|
+
return _gca()
|
|
1539
|
+
|
|
1540
|
+
|
|
1541
|
+
def subplot(*args, **kwargs):
|
|
1542
|
+
"""Add a subplot to the current figure. Supports subplot(nrows, ncols, index) and subplot(NRC)."""
|
|
1543
|
+
global _current_figure, _current_axes_id
|
|
1544
|
+
if len(args) == 1 and isinstance(args[0], int) and args[0] >= 100:
|
|
1545
|
+
# subplot(211) format
|
|
1546
|
+
n = args[0]
|
|
1547
|
+
nrows = n // 100
|
|
1548
|
+
ncols = (n % 100) // 10
|
|
1549
|
+
index = n % 10
|
|
1550
|
+
elif len(args) == 3:
|
|
1551
|
+
nrows, ncols, index = int(args[0]), int(args[1]), int(args[2])
|
|
1552
|
+
else:
|
|
1553
|
+
nrows, ncols, index = 1, 1, 1
|
|
1554
|
+
|
|
1555
|
+
if _current_figure is None:
|
|
1556
|
+
fig = RustFigure(640, 480, 100)
|
|
1557
|
+
fig.setup_subplots(nrows, ncols)
|
|
1558
|
+
_current_figure = fig
|
|
1559
|
+
|
|
1560
|
+
_current_axes_id = index - 1 # matplotlib uses 1-based indexing
|
|
1561
|
+
return _gca()
|
|
1562
|
+
|
|
1563
|
+
|
|
1564
|
+
def axes(arg=None, **kwargs):
|
|
1565
|
+
"""Add axes to current figure."""
|
|
1566
|
+
if arg is None:
|
|
1567
|
+
return _gca()
|
|
1568
|
+
# arg is [left, bottom, width, height] — custom positioning, return stub
|
|
1569
|
+
return _gca()
|
|
1570
|
+
|
|
1571
|
+
|
|
1572
|
+
def figtext(x, y, s, **kwargs):
|
|
1573
|
+
"""Add text to figure (not axes)."""
|
|
1574
|
+
# Approximate: add text to current axes using figure coords
|
|
1575
|
+
pass
|
|
1576
|
+
|
|
1577
|
+
|
|
1578
|
+
def figimage(*args, **kwargs):
|
|
1579
|
+
"""Add image to figure."""
|
|
1580
|
+
pass
|
|
1581
|
+
|
|
1582
|
+
|
|
1583
|
+
def figlegend(*args, **kwargs):
|
|
1584
|
+
"""Add legend to figure."""
|
|
1585
|
+
legend(*args, **kwargs)
|
|
1586
|
+
|
|
1587
|
+
|
|
1588
|
+
def minorticks_on():
|
|
1589
|
+
pass
|
|
1590
|
+
|
|
1591
|
+
|
|
1592
|
+
def minorticks_off():
|
|
1593
|
+
pass
|
|
1594
|
+
|
|
1595
|
+
|
|
1596
|
+
def tick_params(**kwargs):
|
|
1597
|
+
_gca().tick_params(**kwargs)
|
|
1598
|
+
|
|
1599
|
+
|
|
1600
|
+
def margins(*args, **kwargs):
|
|
1601
|
+
pass
|
|
1602
|
+
|
|
1603
|
+
|
|
1604
|
+
def autoscale(enable=True, axis='both', tight=None):
|
|
1605
|
+
pass
|
|
1606
|
+
|
|
1607
|
+
|
|
1608
|
+
def ioff():
|
|
1609
|
+
"""Turn interactive mode off."""
|
|
1610
|
+
pass
|
|
1611
|
+
|
|
1612
|
+
|
|
1613
|
+
def ion():
|
|
1614
|
+
"""Turn interactive mode on."""
|
|
1615
|
+
pass
|
|
1616
|
+
|
|
1617
|
+
|
|
1618
|
+
def isinteractive():
|
|
1619
|
+
return False
|
|
1620
|
+
|
|
1621
|
+
|
|
1622
|
+
def draw():
|
|
1623
|
+
pass
|
|
1624
|
+
|
|
1625
|
+
|
|
1626
|
+
def pause(interval):
|
|
1627
|
+
"""Pause for interval seconds."""
|
|
1628
|
+
import time
|
|
1629
|
+
time.sleep(interval)
|
|
1630
|
+
|
|
1631
|
+
|
|
1632
|
+
def connect(event, func):
|
|
1633
|
+
pass
|
|
1634
|
+
|
|
1635
|
+
|
|
1636
|
+
def disconnect(cid):
|
|
1637
|
+
pass
|
|
1638
|
+
|
|
1639
|
+
|
|
1640
|
+
def get_fignums():
|
|
1641
|
+
if _current_figure is not None:
|
|
1642
|
+
return [1]
|
|
1643
|
+
return []
|
|
1644
|
+
|
|
1645
|
+
|
|
1646
|
+
def figure_exists(num):
|
|
1647
|
+
return _current_figure is not None
|
|
1648
|
+
|
|
1649
|
+
|
|
1650
|
+
def get_current_fig_manager():
|
|
1651
|
+
return None
|
|
1652
|
+
|
|
1653
|
+
|
|
1654
|
+
def colormaps():
|
|
1655
|
+
"""Return list of available colormaps."""
|
|
1656
|
+
return ['viridis', 'plasma', 'inferno', 'magma', 'cividis', 'twilight', 'turbo',
|
|
1657
|
+
'hot', 'cool', 'gray', 'jet', 'spring', 'summer', 'autumn', 'winter',
|
|
1658
|
+
'copper', 'bone', 'pink', 'binary', 'gist_heat', 'ocean', 'terrain',
|
|
1659
|
+
'Blues', 'Reds', 'Greens', 'YlOrRd', 'YlGnBu', 'RdYlBu', 'RdBu',
|
|
1660
|
+
'PiYG', 'PRGn', 'BrBG', 'Spectral', 'Set1', 'Set2', 'Set3',
|
|
1661
|
+
'Pastel1', 'Pastel2', 'tab20']
|
|
1662
|
+
|
|
1663
|
+
|
|
1664
|
+
def get_cmap(name='viridis'):
|
|
1665
|
+
"""Get a colormap by name."""
|
|
1666
|
+
return name # stub
|
|
1667
|
+
|
|
1668
|
+
|
|
1669
|
+
# Log-scale convenience aliases
|
|
1670
|
+
def semilogy(*args, **kwargs):
|
|
1671
|
+
yscale('log')
|
|
1672
|
+
plot(*args, **kwargs)
|
|
1673
|
+
|
|
1674
|
+
|
|
1675
|
+
def semilogx(*args, **kwargs):
|
|
1676
|
+
xscale('log')
|
|
1677
|
+
plot(*args, **kwargs)
|
|
1678
|
+
|
|
1679
|
+
|
|
1680
|
+
def loglog(*args, **kwargs):
|
|
1681
|
+
xscale('log')
|
|
1682
|
+
yscale('log')
|
|
1683
|
+
plot(*args, **kwargs)
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
from typing import Optional, Union, Tuple, List, Any
|
|
2
|
+
import numpy as np
|
|
3
|
+
|
|
4
|
+
def plot(*args: Any, **kwargs: Any) -> None: ...
|
|
5
|
+
def scatter(x: Any, y: Any, **kwargs: Any) -> None: ...
|
|
6
|
+
def bar(x: Any, height: Any, **kwargs: Any) -> None: ...
|
|
7
|
+
def barh(y: Any, width: Any, **kwargs: Any) -> None: ...
|
|
8
|
+
def hist(x: Any, **kwargs: Any) -> None: ...
|
|
9
|
+
def imshow(data: Any, **kwargs: Any) -> None: ...
|
|
10
|
+
def fill_between(x: Any, y1: Any, y2: Any = ..., **kwargs: Any) -> None: ...
|
|
11
|
+
def errorbar(x: Any, y: Any, **kwargs: Any) -> None: ...
|
|
12
|
+
def step(x: Any, y: Any, **kwargs: Any) -> None: ...
|
|
13
|
+
def pie(sizes: Any, **kwargs: Any) -> None: ...
|
|
14
|
+
def boxplot(data: Any, **kwargs: Any) -> None: ...
|
|
15
|
+
def stem(x: Any, y: Any, **kwargs: Any) -> None: ...
|
|
16
|
+
def contour(*args: Any, **kwargs: Any) -> None: ...
|
|
17
|
+
def contourf(*args: Any, **kwargs: Any) -> None: ...
|
|
18
|
+
def hexbin(x: Any, y: Any, **kwargs: Any) -> None: ...
|
|
19
|
+
def quiver(*args: Any, **kwargs: Any) -> None: ...
|
|
20
|
+
def streamplot(*args: Any, **kwargs: Any) -> None: ...
|
|
21
|
+
def violinplot(data: Any, **kwargs: Any) -> None: ...
|
|
22
|
+
|
|
23
|
+
def figure(figsize: Optional[Tuple[float, float]] = ..., dpi: int = ..., **kwargs: Any) -> Any: ...
|
|
24
|
+
def subplots(nrows: int = ..., ncols: int = ..., figsize: Optional[Tuple[float, float]] = ..., **kwargs: Any) -> Tuple[Any, Any]: ...
|
|
25
|
+
def subplot(*args: Any, **kwargs: Any) -> Any: ...
|
|
26
|
+
def subplot_mosaic(mosaic: Any, **kwargs: Any) -> Tuple[Any, dict]: ...
|
|
27
|
+
|
|
28
|
+
def title(text: str, **kwargs: Any) -> None: ...
|
|
29
|
+
def xlabel(text: str, **kwargs: Any) -> None: ...
|
|
30
|
+
def ylabel(text: str, **kwargs: Any) -> None: ...
|
|
31
|
+
def xlim(*args: Any, **kwargs: Any) -> None: ...
|
|
32
|
+
def ylim(*args: Any, **kwargs: Any) -> None: ...
|
|
33
|
+
def legend(*args: Any, **kwargs: Any) -> None: ...
|
|
34
|
+
def grid(visible: bool = ..., **kwargs: Any) -> None: ...
|
|
35
|
+
def text(x: float, y: float, s: str, **kwargs: Any) -> None: ...
|
|
36
|
+
def annotate(text: str, xy: Any = ..., xytext: Any = ..., **kwargs: Any) -> None: ...
|
|
37
|
+
def axhline(y: float = ..., **kwargs: Any) -> None: ...
|
|
38
|
+
def axvline(x: float = ..., **kwargs: Any) -> None: ...
|
|
39
|
+
def axhspan(ymin: float = ..., ymax: float = ..., **kwargs: Any) -> None: ...
|
|
40
|
+
def axvspan(xmin: float = ..., xmax: float = ..., **kwargs: Any) -> None: ...
|
|
41
|
+
def colorbar(**kwargs: Any) -> None: ...
|
|
42
|
+
def suptitle(t: str, **kwargs: Any) -> None: ...
|
|
43
|
+
def tight_layout(**kwargs: Any) -> None: ...
|
|
44
|
+
def subplots_adjust(**kwargs: Any) -> None: ...
|
|
45
|
+
|
|
46
|
+
def savefig(fname: str, **kwargs: Any) -> None: ...
|
|
47
|
+
def show() -> None: ...
|
|
48
|
+
def close(*args: Any) -> None: ...
|
|
49
|
+
def clf() -> None: ...
|
|
50
|
+
def cla() -> None: ...
|
|
51
|
+
def gcf() -> Any: ...
|
|
52
|
+
def gca(**kwargs: Any) -> Any: ...
|
|
53
|
+
def draw() -> None: ...
|
|
54
|
+
def pause(interval: float) -> None: ...
|
|
55
|
+
def ion() -> None: ...
|
|
56
|
+
def ioff() -> None: ...
|
|
57
|
+
|
|
58
|
+
def xscale(scale: str, **kwargs: Any) -> None: ...
|
|
59
|
+
def yscale(scale: str, **kwargs: Any) -> None: ...
|
|
60
|
+
def semilogy(*args: Any, **kwargs: Any) -> None: ...
|
|
61
|
+
def semilogx(*args: Any, **kwargs: Any) -> None: ...
|
|
62
|
+
def loglog(*args: Any, **kwargs: Any) -> None: ...
|
|
63
|
+
|
|
64
|
+
def xticks(ticks: Any = ..., labels: Any = ..., **kwargs: Any) -> None: ...
|
|
65
|
+
def yticks(ticks: Any = ..., labels: Any = ..., **kwargs: Any) -> None: ...
|
|
66
|
+
def tick_params(**kwargs: Any) -> None: ...
|
|
67
|
+
def minorticks_on() -> None: ...
|
|
68
|
+
def minorticks_off() -> None: ...
|
|
69
|
+
|
|
70
|
+
def margins(*args: Any, **kwargs: Any) -> None: ...
|
|
71
|
+
def autoscale(enable: bool = ..., axis: str = ..., tight: Optional[bool] = ...) -> None: ...
|
|
72
|
+
|
|
73
|
+
def hlines(y: Any, xmin: float, xmax: float, **kwargs: Any) -> None: ...
|
|
74
|
+
def vlines(x: Any, ymin: float, ymax: float, **kwargs: Any) -> None: ...
|
|
75
|
+
def fill_betweenx(y: Any, x1: Any, x2: Any = ..., **kwargs: Any) -> None: ...
|
|
76
|
+
def table(**kwargs: Any) -> None: ...
|
|
77
|
+
|
|
78
|
+
def subplot_polar(**kwargs: Any) -> Any: ...
|
|
79
|
+
def axes(arg: Any = ..., **kwargs: Any) -> Any: ...
|
|
80
|
+
def figtext(x: float, y: float, s: str, **kwargs: Any) -> None: ...
|
|
81
|
+
def figimage(*args: Any, **kwargs: Any) -> None: ...
|
|
82
|
+
def figlegend(*args: Any, **kwargs: Any) -> None: ...
|
|
83
|
+
|
|
84
|
+
def isinteractive() -> bool: ...
|
|
85
|
+
def connect(event: str, func: Any) -> None: ...
|
|
86
|
+
def disconnect(cid: Any) -> None: ...
|
|
87
|
+
def get_fignums() -> List[int]: ...
|
|
88
|
+
def figure_exists(num: int) -> bool: ...
|
|
89
|
+
def get_current_fig_manager() -> None: ...
|
|
90
|
+
def colormaps() -> List[str]: ...
|
|
91
|
+
def get_cmap(name: str = ...) -> Any: ...
|
|
92
|
+
|
|
93
|
+
def switch_backend(backend: str) -> None: ...
|
|
94
|
+
def use(backend: str) -> None: ...
|
|
95
|
+
|
|
96
|
+
rcParams: dict
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|