예제 #1
0
파일: manuscript.py 프로젝트: cstarkjp/GME
        def linking_lines(
            fig_: Figure,
            axes_A: Axes,
            axes_B: Axes,
            axes_C: Axes,
            axes_D: Axes,
            color_: str = brown_,
        ) -> None:
            r"""
            Draw lines linking features in the main plot to zoom insets.

            Args:
                fig_:
                    Figure to act on
                axes_A:
                    Axes of zoom box A
                axes_B:
                    Axes of zoom box B
                axes_C:
                    Axes of zoom box C
                axes_D:
                    Axes of zoom box D
            """
            joins: List[ConnectionPatch] = [None] * 3
            kwargs = dict(color=color_, linestyle=":")
            joins[0] = ConnectionPatch(
                xyA=(0.2, 0),
                coordsA=axes_D.transData,
                xyB=(0.4, 1),
                coordsB=axes_A.transData,
                **kwargs,
            )
            joins[1] = ConnectionPatch(
                xyA=(1, 0.00),
                coordsA=axes_D.transData,
                xyB=(0, 0.9),
                coordsB=axes_B.transData,
                **kwargs,
            )
            joins[2] = ConnectionPatch(
                xyA=(1, 0.60),
                coordsA=axes_D.transData,
                xyB=(0, 0.8),
                coordsB=axes_C.transData,
                **kwargs,
            )
            for join_ in joins:
                fig_.add_artist(join_)