Skip to content

Commit

Permalink
Fixed bare axis option in bokeh (#3246)
Browse files Browse the repository at this point in the history
  • Loading branch information
philippjfr committed Dec 2, 2018
1 parent 2b16eb0 commit 8e8805a
Show file tree
Hide file tree
Showing 2 changed files with 75 additions and 2 deletions.
4 changes: 2 additions & 2 deletions holoviews/plotting/bokeh/element.py
Expand Up @@ -405,8 +405,8 @@ def _axis_properties(self, axis, key, plot, dimension=None,
# need to copy dictionary by calling dict() on it
axis_props = dict(theme_attr_json(self.renderer.theme, 'Axis'))

if ((axis == 'x' and self.xaxis in ['bottom-bare', 'top-bare']) or
(axis == 'y' and self.yaxis in ['left-bare', 'right-bare'])):
if ((axis == 'x' and self.xaxis in ['bottom-bare', 'top-bare', 'bare']) or
(axis == 'y' and self.yaxis in ['left-bare', 'right-bare', 'bare'])):
axis_props['axis_label_text_font_size'] = value('0pt')
axis_props['major_label_text_font_size'] = value('0pt')
axis_props['major_tick_line_color'] = None
Expand Down
73 changes: 73 additions & 0 deletions holoviews/tests/plotting/bokeh/testelementplot.py
Expand Up @@ -3,6 +3,7 @@

import numpy as np

from bokeh.core.properties import value
from holoviews.core import Dimension, DynamicMap, NdOverlay
from holoviews.element import Curve, Image, Scatter, Labels
from holoviews.streams import Stream
Expand All @@ -25,6 +26,78 @@ def test_element_show_frame_disabled(self):
plot = bokeh_renderer.get_plot(curve).state
self.assertEqual(plot.outline_line_alpha, 0)

def test_element_xaxis_top(self):
curve = Curve(range(10)).options(xaxis='top')
plot = bokeh_renderer.get_plot(curve)
xaxis = plot.handles['xaxis']
self.assertTrue(xaxis in plot.state.above)

def test_element_xaxis_bare(self):
curve = Curve(range(10)).options(xaxis='bare')
plot = bokeh_renderer.get_plot(curve)
xaxis = plot.handles['xaxis']
self.assertEqual(xaxis.axis_label_text_font_size, value('0pt'))
self.assertEqual(xaxis.major_label_text_font_size, value('0pt'))
self.assertEqual(xaxis.minor_tick_line_color, None)
self.assertEqual(xaxis.major_tick_line_color, None)
self.assertTrue(xaxis in plot.state.below)

def test_element_xaxis_bottom_bare(self):
curve = Curve(range(10)).options(xaxis='bottom-bare')
plot = bokeh_renderer.get_plot(curve)
xaxis = plot.handles['xaxis']
self.assertEqual(xaxis.axis_label_text_font_size, value('0pt'))
self.assertEqual(xaxis.major_label_text_font_size, value('0pt'))
self.assertEqual(xaxis.minor_tick_line_color, None)
self.assertEqual(xaxis.major_tick_line_color, None)
self.assertTrue(xaxis in plot.state.below)

def test_element_xaxis_top_bare(self):
curve = Curve(range(10)).options(xaxis='top-bare')
plot = bokeh_renderer.get_plot(curve)
xaxis = plot.handles['xaxis']
self.assertEqual(xaxis.axis_label_text_font_size, value('0pt'))
self.assertEqual(xaxis.major_label_text_font_size, value('0pt'))
self.assertEqual(xaxis.minor_tick_line_color, None)
self.assertEqual(xaxis.major_tick_line_color, None)
self.assertTrue(xaxis in plot.state.above)

def test_element_yaxis_right(self):
curve = Curve(range(10)).options(yaxis='right')
plot = bokeh_renderer.get_plot(curve)
yaxis = plot.handles['yaxis']
self.assertTrue(yaxis in plot.state.right)

def test_element_yaxis_bare(self):
curve = Curve(range(10)).options(yaxis='bare')
plot = bokeh_renderer.get_plot(curve)
yaxis = plot.handles['yaxis']
self.assertEqual(yaxis.axis_label_text_font_size, value('0pt'))
self.assertEqual(yaxis.major_label_text_font_size, value('0pt'))
self.assertEqual(yaxis.minor_tick_line_color, None)
self.assertEqual(yaxis.major_tick_line_color, None)
self.assertTrue(yaxis in plot.state.left)

def test_element_yaxis_left_bare(self):
curve = Curve(range(10)).options(yaxis='left-bare')
plot = bokeh_renderer.get_plot(curve)
yaxis = plot.handles['yaxis']
self.assertEqual(yaxis.axis_label_text_font_size, value('0pt'))
self.assertEqual(yaxis.major_label_text_font_size, value('0pt'))
self.assertEqual(yaxis.minor_tick_line_color, None)
self.assertEqual(yaxis.major_tick_line_color, None)
self.assertTrue(yaxis in plot.state.left)

def test_element_yaxis_right_bare(self):
curve = Curve(range(10)).options(yaxis='right-bare')
plot = bokeh_renderer.get_plot(curve)
yaxis = plot.handles['yaxis']
self.assertEqual(yaxis.axis_label_text_font_size, value('0pt'))
self.assertEqual(yaxis.major_label_text_font_size, value('0pt'))
self.assertEqual(yaxis.minor_tick_line_color, None)
self.assertEqual(yaxis.major_tick_line_color, None)
self.assertTrue(yaxis in plot.state.right)

def test_element_xformatter_string(self):
curve = Curve(range(10)).options(xformatter='%d')
plot = bokeh_renderer.get_plot(curve)
Expand Down

0 comments on commit 8e8805a

Please sign in to comment.