Удаление строк между четырехглифами в боке

#python #bokeh

#python #боке

Вопрос:

Я пытаюсь создать 2D-гистограмму с квадратными ячейками (вместо шестнадцатеричных элементов), и для этого я использую quad.

Сначала я создаю 2D-гистограмму, используя numpy (не показан для краткости).

Затем я рисую его с использованием квадратичного символа:

     def plotHist2D(self,name):
        """
        Creates a 2D histogram figure in Bokeh.

        Parameters
        ----------
        name : string
            The name of one of the column data sources in self.files.

        Returns
        -------
        A bokeh plot object.
        """
        cds = ColumnDataSource(self.makeHist2D(name))
        plot_cmap = linear_cmap('tops','Turbo256',0,1,)
        bar_cmap = LinearColorMapper(palette='Turbo256',low=0,high=1)
        p = figure(plot_height=350,plot_width=350,
                   title='kW/mm^2',                                                                                                     x_axis_label='x (m)',
                   y_axis_label='y (m)',
                   x_range=(-0.05,0.05),
                   y_range=(-0.05,0.05),
                   output_backend="webgl",
                   toolbar_location="above")
        p.quad(top='yrights',bottom='ylefts',left='xlefts',right='xrights',
               fill_color=plot_cmap,line_color=plot_cmap,
               line_width=0.1,line_alpha=1.0,
               alpha=1.0,source=cds)
        color_bar = ColorBar(color_mapper=bar_cmap,width=8,
                             border_line_color=None,location=(0,0))
        p.add_layout(color_bar,'right')
        return p
  

Это работает, поскольку создает фигуру, но на фигуре есть неприятные линии на границе между четырехугольными элементами.

Четырехугольная гистограмма

Я не могу найти какую-либо комбинацию настроек для параметров line_width, line_color и line_alpha, которые позволят избавиться от этих строк. Существует ли какая-либо комбинация настроек, которая полностью удалит эти строки?

Если нет, то как я должен создавать эту 2D-гистограмму с квадратными ячейками?

Комментарии:

1. Удалите аргументы line_width и line_alpha . Если это не сработает, пожалуйста, предоставьте минимальный воспроизводимый пример, включая данные, которые могут быть использованы для воспроизведения поведения.

Ответ №1:

Хитрость в этом заключается в том, чтобы использовать line_color с тем же цветовым отображением и не устанавливать line_width слишком маленький размер.

Следующий вызов quad работает.

 p.quad(top='yrights',bottom='ylefts',left='xlefts',right='xrights',
               fill_color=plot_cmap,
               line_color=plot_cmap,
               line_width=1.0,line_alpha=1.0,
               alpha=1.0,source=cds)
  

Желаемый график:

Желаемый график

Я думал, что перепробовал все перестановки, прежде чем задавать этот вопрос. Я не уверен, почему меньший размер line_width делает линии более заметными. Как предлагает @EugenePakhomov, вы также можете просто полностью исключить line_width . Предположительно, это связано с тем, что значение по умолчанию достаточно велико, чтобы не вызывать «зацепления».