Skip to content

Commit 977eecc

Browse files
committed
Scatter Plot: Error bar icon
1 parent b95e774 commit 977eecc

File tree

3 files changed

+54
-9
lines changed

3 files changed

+54
-9
lines changed
Lines changed: 14 additions & 0 deletions
Loading
Lines changed: 14 additions & 0 deletions
Loading

Orange/widgets/visualize/owscatterplot.py

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,12 @@
99
from sklearn.metrics import r2_score
1010

1111
from AnyQt.QtCore import Qt, QTimer, QPointF
12-
from AnyQt.QtGui import QColor, QFont
12+
from AnyQt.QtGui import QColor, QFont, QFontMetrics
1313
from AnyQt.QtWidgets import QGroupBox, QSizePolicy, QPushButton
1414

1515
import pyqtgraph as pg
1616

17+
from orangewidget.utils import load_styled_icon
1718
from orangewidget.utils.combobox import ComboBoxSearch
1819

1920
from Orange.data import Table, Domain, DiscreteVariable, Variable
@@ -481,29 +482,33 @@ def _add_controls_axis(self):
481482
dmod = DomainModel
482483
self.xy_model = DomainModel(dmod.MIXED, valid_types=dmod.PRIMITIVE)
483484

484-
hbox = gui.hBox(self.attr_box, spacing=2)
485+
hor_icon, ver_icon = self.__get_bar_icons()
486+
width = 3 * QFontMetrics(self.font()).horizontalAdvance("m")
487+
hbox = gui.hBox(self.attr_box, spacing=0)
485488
self.cb_attr_x = gui.comboBox(
486489
hbox, self, "attr_x", label="Axis x:",
487490
callback=self.set_attr_from_combo,
488491
model=self.xy_model, **common_options,
489492
)
490493
self.button_attr_x = gui.button(
491-
hbox, self, "ϵ", callback=self.__on_x_button_clicked,
492-
autoDefault=False, width=20, enabled=False,
493-
sizePolicy=(QSizePolicy.Maximum, QSizePolicy.Maximum)
494+
hbox, self, "", callback=self.__on_x_button_clicked,
495+
autoDefault=False, width=width, enabled=False,
496+
sizePolicy=(QSizePolicy.Fixed, QSizePolicy.Fixed)
494497
)
498+
self.button_attr_x.setIcon(hor_icon)
495499

496-
hbox = gui.hBox(self.attr_box, spacing=2)
500+
hbox = gui.hBox(self.attr_box, spacing=0)
497501
self.cb_attr_y = gui.comboBox(
498502
hbox, self, "attr_y", label="Axis y:",
499503
callback=self.set_attr_from_combo,
500504
model=self.xy_model, **common_options,
501505
)
502506
self.button_attr_y = gui.button(
503-
hbox, self, "ϵ", callback=self.__on_y_button_clicked,
504-
autoDefault=False, width=20, enabled=False,
505-
sizePolicy=(QSizePolicy.Maximum, QSizePolicy.Maximum)
507+
hbox, self, "", callback=self.__on_y_button_clicked,
508+
autoDefault=False, width=width, enabled=False,
509+
sizePolicy=(QSizePolicy.Fixed, QSizePolicy.Fixed)
506510
)
511+
self.button_attr_y.setIcon(ver_icon)
507512

508513
vizrank_box = gui.hBox(self.attr_box)
509514
button = self.vizrank_button("Find Informative Projections")
@@ -846,6 +851,18 @@ def migrate_context(cls, context, version):
846851
if values["attr_x"][1] % 100 == 1 or values["attr_y"][1] % 100 == 1:
847852
raise IncompatibleContext()
848853

854+
__HorizontalBarIcon = None
855+
__VerticalBarIcon = None
856+
857+
@classmethod
858+
def __get_bar_icons(cls):
859+
if cls.__HorizontalBarIcon is None:
860+
cls.__HorizontalBarIcon = load_styled_icon(
861+
"Orange.widgets.visualize", "icons/interval-horizontal.svg")
862+
cls.__VerticalBarIcon = load_styled_icon(
863+
"Orange.widgets.visualize", "icons/interval-vertical.svg")
864+
return cls.__HorizontalBarIcon, cls.__VerticalBarIcon
865+
849866

850867
if __name__ == "__main__": # pragma: no cover
851868
table = Table("iris")

0 commit comments

Comments
 (0)