某些标记类型不会显示在 Plotly-Dash 散点图中

Dav*_*rks 5 plotly

我正在尝试在绘图破折号应用程序中使用自定义标记类型。我定义我的图表如下:

html.Div(
    [
        dcc.Graph(
            figure=dict(
                data=[
                    dict(
                        x=[5, 10, 20, 15],
                        y=[1, 2, 1, 3],
                        type='scatter',
                        mode='markers',
                        marker=dict(
                            color='Red',
                            symbol='line-ns',
                            size=20,
                            opacity=1,
                        ),
                    ),
                ],
                layout=dict(),
            ),
            id='my-graph',
        ),
    ],
),

Run Code Online (Sandbox Code Playgroud)

当我使用symbol='square'它时,它的工作原理如左下所示,但是当symbol='line-ns'悬停时,该符号是不可见的。

在此输入图像描述 在此输入图像描述

基本符号似乎可以工作,但大多数不太常见的符号似乎都有这个问题。

查看此处的文档:

https://plotly.com/python/marker-style/#custom-marker-symbols

我在笔记本中有一个symbol='line-ns'使用图形对象工作的示例:

import plotly.graph_objects as go

# Generate example data
import numpy as np

# Build figure
fig = go.Figure()

# Add trace with large markers
fig.add_trace(
    go.Scatter(
        mode='markers',
        x=[2, 2],
        y=[4.25, 4.75],
        marker=dict(
            symbol='line-ns',
            color='rgba(135, 206, 250, 0.5)',
            size=40,
            line=dict(
                color='MediumPurple',
                width=8
            )
        ),
        showlegend=False
    )
)

fig.show()
Run Code Online (Sandbox Code Playgroud)

小智 7

我发现了同样的问题。似乎没有填充的形状不会显示:形状 33 到 45 (cross_thinline_nw)。其他的都可以正常显示。

我可以通过指定line_width标记的参数来解决它。

marker=dict(symbol='line-ns',
            line_width=2)
Run Code Online (Sandbox Code Playgroud)