有没有可能只改变线的透明度而不改变标记的透明度呢?
我发现可以设置整条线(包括标记)的透明度(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)
我的问题如下:数据点很重要,线只是视觉辅助工具。我想让线的不透明度为0.5但标记完全不透明。
然而,当我设置 opacity=.5, marker={'opacity':1}
时,标记的不透明度也会降低。(我相信标记的不透明度定义在范围[0,线不透明度]
内)。
有没有办法获取线条的颜色并调整其不透明度(甚至在创建线条之后,在绘制它之前调整)。 我知道我可以创建两个轨迹,一个带有点,一个带有线。但是,我希望它们的颜色相同,而不必手动指定颜色。(轨迹数量是变化的,因此我更喜欢坚持分配不同颜色的标准机制)
编辑:我的当前解决方案是将线宽设置为0.5,这样它看起来更好,但显然这个解决方案对我有效,可能对想要粗体和不那么透明的线条的人没有用。
编辑:关于此问题/功能请求/行为的 Github 问题: https://github.com/plotly/plotly.js/issues/2684