Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion kivy_matplotlib_widget/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import kivy


kivy.require("2.3.0")

path = os.path.dirname(__file__)
Expand All @@ -11,6 +10,7 @@
fonts_path = os.path.join(path, f"fonts{os.sep}")
"""Path to fonts directory."""
from kivy.core.text import LabelBase

LabelBase.register(name="NavigationIcons",fn_regular= fonts_path + "NavigationIcons.ttf")

import kivy_matplotlib_widget.factory_registers # NOQA
Expand Down
8 changes: 3 additions & 5 deletions kivy_matplotlib_widget/tools/clipboard_tool.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@
So this tool will certaintly be removed or modified in the futur
"""

from kivy.utils import platform
from io import BytesIO

from kivy.utils import platform
from PIL import Image as PILImage

if platform == 'win':
Expand All @@ -29,10 +30,7 @@
"""
Appkit come with pyobjc
"""
from AppKit import (
NSPasteboard,
NSPasteboardTypePNG,
)
from AppKit import NSPasteboard, NSPasteboardTypePNG
from Foundation import NSData


Expand Down
5 changes: 3 additions & 2 deletions kivy_matplotlib_widget/tools/cursors.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
https://github.com/anntzer/mplcursors
"""

from collections.abc import Iterable
from contextlib import suppress
import copy
import weakref
from collections.abc import Iterable
from contextlib import suppress
from weakref import WeakKeyDictionary

import matplotlib as mpl
Expand All @@ -18,6 +18,7 @@

import kivy_matplotlib_widget.tools.pick_info as pick_info


def _get_rounded_intersection_area(bbox_1, bbox_2):
"""Compute the intersection area between two bboxes rounded to 8 digits."""
# The rounding allows sorting areas without floating point issues.
Expand Down
22 changes: 14 additions & 8 deletions kivy_matplotlib_widget/tools/interactive_converter.py
Original file line number Diff line number Diff line change
@@ -1,21 +1,27 @@

from kivy.config import Config

Config.set('input', 'mouse', 'mouse,disable_on_activity') #avoid double-click on touch device
Config.set('input', 'mouse', 'mouse,multitouch_on_demand') #disable red dot (user use mouse scroll for zooming)
Config.set('kivy', 'keyboard_mode', '') #disable keyboard mode

from kivy.lang import Builder
from kivy.app import App
from kivy.properties import ColorProperty,NumericProperty,StringProperty,BooleanProperty
from kivy.metrics import dp
from kivy.core.window import Window
import multiprocessing as mp

import matplotlib.pyplot as plt
import multiprocessing as mp
from kivy.app import App
from kivy.core.window import Window
from kivy.lang import Builder
from kivy.metrics import dp
from kivy.properties import (BooleanProperty, ColorProperty, NumericProperty,
StringProperty)

from kivy_matplotlib_widget.uix.legend_widget import MatplotlibInteractiveLegend
from kivy_matplotlib_widget.uix.hover_widget import (BaseHoverFloatLayout,
PlotlyHover,
TagCompareHover,
add_hover)
from kivy_matplotlib_widget.uix.legend_widget import \
MatplotlibInteractiveLegend
from kivy_matplotlib_widget.uix.minmax_widget import add_minmax
from kivy_matplotlib_widget.uix.hover_widget import add_hover,BaseHoverFloatLayout,TagCompareHover,PlotlyHover

KV = '''
Screen
Expand Down
14 changes: 7 additions & 7 deletions kivy_matplotlib_widget/tools/pick_info.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,23 +9,24 @@
# have a `format_coord`-like method); PolyCollection (picking is not well
# defined).

from collections import namedtuple
from contextlib import suppress
import copy
import functools
import inspect
from inspect import Signature
import itertools
from numbers import Integral
import re
import warnings
from collections import namedtuple
from contextlib import suppress
from inspect import Signature
from numbers import Integral
from weakref import WeakSet

import numpy as np
from matplotlib import cbook
from matplotlib.axes import Axes
from matplotlib.backend_bases import RendererBase
from matplotlib.collections import (
LineCollection, PatchCollection, PathCollection)
from matplotlib.collections import (LineCollection, PatchCollection,
PathCollection)
from matplotlib.container import BarContainer, ErrorbarContainer, StemContainer
from matplotlib.figure import Figure
from matplotlib.image import AxesImage
Expand All @@ -34,7 +35,6 @@
from matplotlib.quiver import Barbs, Quiver
from matplotlib.text import Text
from matplotlib.transforms import Affine2D
import numpy as np


def _register_scatter():
Expand Down
3 changes: 2 additions & 1 deletion kivy_matplotlib_widget/uix/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#remove font_manager "debug" from matplotib
import logging
logging.getLogger('matplotlib.font_manager').disabled = True

logging.getLogger('matplotlib.font_manager').disabled = True
21 changes: 13 additions & 8 deletions kivy_matplotlib_widget/uix/graph_subplot_widget.py
Original file line number Diff line number Diff line change
@@ -1,25 +1,30 @@
""" Custom MatplotFigure
"""

import math
import copy
import math
import time

import matplotlib

matplotlib.use('Agg')
from kivy_matplotlib_widget.uix.graph_widget import _FigureCanvas ,MatplotFigure,MatplotlibEvent
from kivy.utils import get_color_from_hex
from matplotlib.colors import to_hex
from kivy.metrics import dp
from kivy_matplotlib_widget.tools.cursors import cursor
from kivy.properties import NumericProperty,BooleanProperty,OptionProperty
from kivy.graphics.texture import Texture
import matplotlib.image as mimage
import matplotlib.lines as mlines
import matplotlib.patches as mpatches
import matplotlib.transforms as mtransforms
from kivy.graphics.texture import Texture
from kivy.metrics import dp
from kivy.properties import BooleanProperty, NumericProperty, OptionProperty
from kivy.utils import get_color_from_hex
from matplotlib.colors import to_hex
from matplotlib.container import BarContainer

from kivy_matplotlib_widget.tools.cursors import cursor
from kivy_matplotlib_widget.uix.graph_widget import (MatplotFigure,
MatplotlibEvent,
_FigureCanvas)


def _iter_axes_subartists(ax):
r"""Yield all child `Artist`\s (*not* `Container`\s) of *ax*."""
return ax.collections + ax.images + ax.lines + ax.texts + ax.patches
Expand Down
31 changes: 19 additions & 12 deletions kivy_matplotlib_widget/uix/graph_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,34 +2,41 @@
and kivy scatter
"""

import math
import copy
import math

import matplotlib

matplotlib.use('Agg')
selector_widgets_available = False
try:
selector_widgets_available = True
from kivy_matplotlib_widget.uix.selector_widget import ResizeRelativeLayout,LassoRelativeLayout,EllipseRelativeLayout,SpanRelativeLayout
from kivy_matplotlib_widget.uix.selector_widget import (
EllipseRelativeLayout, LassoRelativeLayout, ResizeRelativeLayout,
SpanRelativeLayout)
except ImportError:
print('Selector widgets are not available')
from weakref import WeakKeyDictionary

import numpy as np
from kivy.clock import Clock
from kivy.core.window import Window
from kivy.graphics.texture import Texture
from kivy.graphics.transformation import Matrix
from kivy.lang import Builder
from kivy.properties import ObjectProperty, ListProperty, BooleanProperty, BoundedNumericProperty, AliasProperty, \
NumericProperty, OptionProperty, DictProperty
from kivy.metrics import dp
from kivy.properties import (AliasProperty, BooleanProperty,
BoundedNumericProperty, DictProperty,
ListProperty, NumericProperty, ObjectProperty,
OptionProperty)
from kivy.uix.widget import Widget
from kivy.utils import get_color_from_hex
from kivy.vector import Vector
from matplotlib.backends.backend_agg import FigureCanvasAgg
from matplotlib import cbook
from matplotlib.colors import to_hex
from matplotlib.backend_bases import ResizeEvent
from weakref import WeakKeyDictionary
from kivy.metrics import dp
import numpy as np
from kivy.utils import get_color_from_hex
from kivy.core.window import Window
from kivy.clock import Clock
from matplotlib.backends.backend_agg import FigureCanvasAgg
from matplotlib.colors import to_hex


class MatplotlibEvent:
x=None
Expand Down
31 changes: 17 additions & 14 deletions kivy_matplotlib_widget/uix/graph_widget_3d.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,33 @@
import math

import matplotlib

matplotlib.use('Agg')
import time
from weakref import WeakKeyDictionary

import numpy as np
from kivy.graphics.texture import Texture
from kivy.graphics.transformation import Matrix
from kivy.lang import Builder
from kivy.properties import ObjectProperty, ListProperty, BooleanProperty, BoundedNumericProperty, AliasProperty, \
NumericProperty,StringProperty,ColorProperty
from kivy.metrics import dp
from kivy.properties import (AliasProperty, BooleanProperty,
BoundedNumericProperty, ColorProperty,
ListProperty, NumericProperty, ObjectProperty,
StringProperty)
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.scatter import Scatter
from kivy.uix.scatterlayout import ScatterLayout
from kivy.vector import Vector
from matplotlib import cbook
from matplotlib.backend_bases import MouseEvent, ResizeEvent
from matplotlib.backends.backend_agg import FigureCanvasAgg
from matplotlib.backend_bases import ResizeEvent
from matplotlib.backend_bases import MouseEvent
from matplotlib.colors import to_hex
from kivy.metrics import dp
from kivy_matplotlib_widget.tools.cursors import cursor

import numpy as np
from mpl_toolkits import mplot3d
from weakref import WeakKeyDictionary
from matplotlib import cbook

from kivy.uix.scatter import Scatter
from kivy.uix.scatterlayout import ScatterLayout
from kivy.uix.floatlayout import FloatLayout
import time
from kivy_matplotlib_widget.tools.cursors import cursor


def line2d_seg_dist(p1, p2, p0):
"""distance(s) from line defined by p1 - p2 to point(s) p0
Expand Down
19 changes: 11 additions & 8 deletions kivy_matplotlib_widget/uix/graph_widget_crop_factor.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,29 @@
'MatplotFigureCropFactor',
)

import math
import copy
import math

import matplotlib

matplotlib.use('Agg')

from weakref import WeakKeyDictionary

import numpy as np
from kivy.graphics.texture import Texture
from kivy.graphics.transformation import Matrix
from kivy.lang import Builder
from kivy.properties import ObjectProperty, ListProperty, BooleanProperty, AliasProperty, \
NumericProperty, OptionProperty, BoundedNumericProperty, StringProperty
from kivy.metrics import dp
from kivy.properties import (AliasProperty, BooleanProperty,
BoundedNumericProperty, ListProperty,
NumericProperty, ObjectProperty, OptionProperty,
StringProperty)
from kivy.uix.widget import Widget
from kivy.vector import Vector
from matplotlib.backends.backend_agg import FigureCanvasAgg
from matplotlib import cbook
from matplotlib.backend_bases import ResizeEvent
from weakref import WeakKeyDictionary
from kivy.metrics import dp
import numpy as np

from matplotlib.backends.backend_agg import FigureCanvasAgg


class MatplotFigureCropFactor(Widget):
Expand Down
18 changes: 10 additions & 8 deletions kivy_matplotlib_widget/uix/graph_widget_general.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,27 @@
and kivy scatter
"""

import math
import copy
import math

import matplotlib

matplotlib.use('Agg')
import numpy as np
from kivy.base import EventLoop
from kivy.graphics.texture import Texture
from kivy.graphics.transformation import Matrix
from kivy.lang import Builder
from kivy.properties import ObjectProperty, ListProperty, BooleanProperty, BoundedNumericProperty, AliasProperty, \
NumericProperty
from kivy.metrics import dp
from kivy.properties import (AliasProperty, BooleanProperty,
BoundedNumericProperty, ListProperty,
NumericProperty, ObjectProperty)
from kivy.uix.widget import Widget
from kivy.vector import Vector
from matplotlib.backend_bases import MouseEvent, ResizeEvent
from matplotlib.backends.backend_agg import FigureCanvasAgg
from matplotlib.transforms import Bbox
from matplotlib.backend_bases import ResizeEvent
from matplotlib.backend_bases import MouseEvent
from kivy.metrics import dp
import numpy as np
from kivy.base import EventLoop


class MatplotFigureGeneral(Widget):
"""Widget to show a matplotlib figure in kivy.
Expand Down
Loading