使用 Plotly Express 更改线条颜色
Posted
技术标签:
【中文标题】使用 Plotly Express 更改线条颜色【英文标题】:Change Line Colour with Plotly Express 【发布时间】:2021-10-31 16:19:00 【问题描述】:我有一个情节表达图:
fig = px.line(data, x="DateTime", y="Gold", title="Gold Prices")
我想改变一些细节,像这样
fig.update_layout(
line_color="#0000ff", # ValueError: Invalid property specified for object of type plotly.graph_objs.Layout: 'line'
line=dict(
color='rgb(204, 204, 204)',
width=5
), # Bad property path: line
)
但是两次尝试(尝试我在这里研究过的解决方案)都失败了,并在 cmets 中给出了错误。
我也试过fig = px.line(data, x="DateTime", y="Gold", title="Gold Prices", template="ggplot2", color_discrete_map="Gold": "green")
,但无济于事。
请问我该如何完成这项工作?
【问题讨论】:
【参考方案1】:尝试像这样使用“set_color”函数:
fig.set_color('b')
或
fig.set_color('g')
其中 g 和 b 也可以是 RGB 颜色方案的 r。
然后
fig.show()
【讨论】:
正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。 对我不起作用:AttributeError: 'Figure' object has no attribute 'set_color'
【参考方案2】:
你试过简单吗?
fig.add_scattergl(x=xs, y=df.y, line='color': 'black')
Source
【讨论】:
【参考方案3】:尝试使用.update_traces()
和plotly.express
而不是.update_layout()
:
fig.update_traces(line_color='#0000ff', line_width=5)
【讨论】:
当有多行时这是否有效?如果有,如何设置?【参考方案4】:plotly.express
如果要使用plotly.express,请添加以下设置。
import plotly.express as px
df = px.data.stocks()
fig = px.line(df, x='date', y="GOOG", title='Ticker:GOOG')
fig['data'][0]['line']['color']='rgb(204, 204, 204)'
fig['data'][0]['line']['width']=5
fig.show()
plotly.graph_objects
如果你使用的是plotly.graph_objects,你可以在go.Scatter()中设置。
import plotly.express as px
import plotly.graph_objects as go
df = px.data.stocks()
fig = go.Figure(data=go.Scatter(x=df['date'], y=df['GOOG'], mode='lines', line_color='rgb(204, 204, 204)', line_width=5))
fig.update_layout(title='Ticker:GOOG')
fig.show()
【讨论】:
每一个的输出都是一样的,所以它们是一回事。以上是关于使用 Plotly Express 更改线条颜色的主要内容,如果未能解决你的问题,请参考以下文章
使用 plotly.express 折线图,线条以奇怪的顺序连接?怎么修? [关闭]
R语言plotly包可视化线图(line plot)使用restyle参数自定义设置可视化结果中线条的颜色使用按钮动态切换线条的颜色(change line color with button)