Skip to content

Commit

Permalink
Merge b11769e into 32b25d0
Browse files Browse the repository at this point in the history
  • Loading branch information
philippjfr committed Mar 10, 2020
2 parents 32b25d0 + b11769e commit a5b397f
Showing 1 changed file with 24 additions and 6 deletions.
30 changes: 24 additions & 6 deletions holoviews/plotting/bokeh/element.py
Original file line number Diff line number Diff line change
Expand Up @@ -418,13 +418,17 @@ def _axes_props(self, plots, subplots, element, ranges):
range_types = (self._x_range_type, self._y_range_type)
if self.invert_axes: range_types = range_types[::-1]
x_range_type, y_range_type = range_types
if categorical or categorical_x:
if 'x_range' in plot_ranges:
pass
elif categorical or categorical_x:
x_axis_type = 'auto'
plot_ranges['x_range'] = FactorRange()
elif 'x_range' not in plot_ranges:
else:
plot_ranges['x_range'] = x_range_type()

if categorical or categorical_y:
if 'y_range' in plot_ranges:
pass
elif categorical or categorical_y:
y_axis_type = 'auto'
plot_ranges['y_range'] = FactorRange()
elif 'y_range' not in plot_ranges:
Expand Down Expand Up @@ -914,7 +918,9 @@ def get_aspect(self, xspan, yspan):
"""
Computes the aspect ratio of the plot
"""
if self.data_aspect:
if 'plot' in self.handles and self.state.frame_width and self.state.frame_height:
return self.state.frame_width/self.state.frame_height
elif self.data_aspect:
return (yspan/xspan)*self.data_aspect
elif self.aspect == 'equal':
return yspan/xspan
Expand All @@ -933,8 +939,20 @@ def _get_factors(self, element, ranges):
Get factors for categorical axes.
"""
xdim, ydim = element.dimensions()[:2]
xvals = np.asarray(xdim.values or element.dimension_values(0, False))
yvals = np.asarray(ydim.values or element.dimension_values(1, False))
if xdim.values:
xvals = xdim.values
elif 'factors' in ranges.get(xdim.name, {}):
xvals = ranges[xdim.name]['factors']
else:
xvals = element.dimension_values(0, False)

if ydim.values:
yvals = ydim.values
elif 'factors' in ranges.get(ydim.name, {}):
yvals = ranges[ydim.name]['factors']
else:
yvals = element.dimension_values(1, False)
xvals, yvals = np.asarray(xvals), np.asarray(yvals)
coords = tuple([v if vals.dtype.kind in 'SU' else dim.pprint_value(v) for v in vals]
for dim, vals in [(xdim, xvals), (ydim, yvals)])
if self.invert_axes: coords = coords[::-1]
Expand Down

0 comments on commit a5b397f

Please sign in to comment.