【发布时间】:2022-05-01 02:12:53
【问题描述】:
是否可以更改线条不透明度但不能更改标记不透明度?
我发现我可以设置整行的不透明度,包括标记(opacity = .5)和标记之一(例如marker={"opacity":1})。
如本例所示:
import plotly
import plotly.graph_objs as go
plotly.offline.init_notebook_mode(connected=True) # I'm running in a jupyter notebook
x = np.arange(0,10)
ys = [np.random.rand(10) for _ in range(3)]
lines = []
for y in ys:
line = go.Scatter(x=x, y=y, mode="markers+lines", opacity=.5, marker={'symbol': 'x', 'size': "15", "opacity":1})
lines.append(line)
fig = go.Figure(
data=lines,
layout=go.Layout(showlegend=True)
)
plotly.offline.iplot(fig)
我的问题如下:我的数据点很重要,线条只是视觉辅助。我想让线条 .5 不透明,但标记完全不透明。
但是,当我设置opacity=.5, marker={'opacity':1} 时,标记的不透明度也会降低。 (我相信标记不透明度是在[0, line-opacity] 范围内定义的。
有什么方法可以让我获得线条的颜色并调整它的不透明度(甚至在创建线条之后,但在绘制它之前)。 我知道我可以创建两条迹线,一条带有点,一条带有线。但是,我希望它们是相同的颜色,而不必手动指定颜色。 (痕迹的数量是不同的,所以我更喜欢坚持分配不同颜色的标准机制)
编辑:我目前的解决方案是将线宽设置为 0.5,这样它看起来更好,但显然这个解决方案对我有用,可能对人们没有用谁想要粗体和不那么不透明的线条。
编辑:有关此问题/功能请求/行为的 Github 问题: https://github.com/plotly/plotly.js/issues/2684
【问题讨论】:
-
似乎是一个错误,因为父属性仍在更新为子属性,即使子属性已设置,您可以与 plotly 团队一起提出吗?您是否对具有两条迹线(一条用于标记,一条用于线)的解决方案感兴趣?
-
@NarenMurali 我认为这两条痕迹是备份。我发帖是因为我对“官方”解决方案感兴趣。
-
作为后备,请提出问题票here,他们可能会给出一些建议,但我认为如果他们指定标记的不透明度,他们应该忽略跟踪的不透明度!