在下面的散景图中,我想删除y轴上的细垂直线,您可以在每个主要刻度线上看到。每个主要刻度应该是完全白色。以下代码将允许您复制图表:
from bokeh.palettes import Category20
from bokeh.plotting import figure, output_file, show
from bokeh.models import DatetimeTickFormatter, NumeralTickFormatter, DatetimeTicker
import pandas as pd
import numpy as np
data = pd.Series(np.cumprod(1 + np.random.normal(0, 0.01, 1000)), index=pd.bdate_range(start='2010-01-01', periods=1000))
output_file('test.html')
p = figure(x_axis_type='datetime', plot_width=1000, plot_height=500, y_axis_type='log')
p.title.align = 'center'
p.title.text_font = 'calibri'
p.title.text_font_size = '16pt'
p.title.text_color = 'black'
p.line(data.index, data.values, color=Category20[3][0], line_width=3)
p.xaxis.major_tick_line_color = None
p.xaxis.minor_tick_line_color = None
p.xaxis.formatter = DatetimeTickFormatter(days=['%Y-%m-%d'], months=['%B %Y'], years=["%b '%y"])
p.xaxis.axis_line_width = 5
p.xaxis.axis_line_color = 'black'
p.xaxis.axis_label_text_font = 'calibri'
p.xaxis.axis_label_text_font_style = None
p.yaxis.major_tick_line_color = 'white'
p.yaxis.major_tick_line_width = 5
p.yaxis.minor_tick_line_color = None
p.yaxis.formatter = NumeralTickFormatter(format='0.00')
p.yaxis.axis_line_width = 5
p.yaxis.axis_line_color = 'black'
p.yaxis.axis_label_text_font = 'calibri'
p.yaxis.axis_label_text_font_style = None
p.xgrid.grid_line_color = None
p.ygrid.grid_line_color = None
p.ygrid.visible = False
# p.background_fill_color = None
# p.border_fill_color = None
p.outline_line_color = None
show(p)
提前致谢!
答案 0 :(得分:0)
将刻度线颜色设置为'white'
表示仍然绘制刻度线,它们只是用白色绘制。由于在轴规则之后绘制了刻度,因此您会看到白色刻度中断轴的结果。没有用户可配置的方式来更改绘制轴元素的顺序。但是,您可以通过将颜色设置为None
:
p.yaxis.major_tick_line_color = None
或者,您可以将major_tick_line_alpha
设置为零。