Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用虚线和带有图的标记绘图高亮显示线_Python_Plotly - Fatal编程技术网

Python 用虚线和带有图的标记绘图高亮显示线

Python 用虚线和带有图的标记绘图高亮显示线,python,plotly,Python,Plotly,我正试图用一条虚线和一条标记线绘出一幅线条图。在本例中,我希望代表“加拿大”的线用虚线表示。我已经知道如何改变宽度和颜色,但不知道如何使线虚线。我原来的DF要大得多,所以go.scatter对我来说不是一个解决方案。谢谢你的帮助 import plotly.express as px # data df = px.data.gapminder() df = df[df['country'].isin(['Canada', 'USA', 'Norway', 'Sweden', 'Germany'

我正试图用一条虚线和一条标记线绘出一幅线条图。在本例中,我希望代表“加拿大”的线用虚线表示。我已经知道如何改变宽度和颜色,但不知道如何使线虚线。我原来的DF要大得多,所以go.scatter对我来说不是一个解决方案。谢谢你的帮助

import plotly.express as px

# data
df = px.data.gapminder()
df = df[df['country'].isin(['Canada', 'USA', 'Norway', 'Sweden', 'Germany'])]

# plotly
fig = px.line(df, x='year', y='lifeExp',
              color='country')

# color "Canada" black and change the width of the line
fig.update_traces(patch={"line": {"color": "black", "width": 4}},#
                  selector={"legendgroup": "Canada"})

#i tried to extend the code with dash and mode, but do not work:
#fig.update_traces(patch={"line": {"color": "black", "width": 4, "dash": 'dot', "mode": 'lines+markers'}}, 

plotly.io.write_image(fig, file='testline.png', format='png')

我希望有一条黑色虚线最终看起来像这样。

代码中的错误是您将
模式设置为
线条+标记
,这在折线图中是无效的属性。有效的代码如下所示:

import plotly.express as px

# data
df = px.data.gapminder()
df = df[df['country'].isin(['Canada', 'USA', 'Norway', 'Sweden', 'Germany'])]

# plotly
fig = px.line(df, x='year', y='lifeExp',
              color='country')

fig.update_traces(patch={"line": {"color": "black", "width": 4}})
fig.update_traces(patch={"line": {"color": "black", "width": 4, "dash": 'dot'}}, selector={"legendgroup": "Canada"}) 

fig.show()
并返回一个如下的图表:

import plotly.express as px

# data
df = px.data.gapminder()
df = df[df['country'].isin(['Canada', 'USA', 'Norway', 'Sweden', 'Germany'])]

# plotly
fig = px.line(df, x='year', y='lifeExp',
              color='country')

fig.update_traces(patch={"line": {"color": "black", "width": 4}})
fig.update_traces(patch={"line": {"color": "black", "width": 4, "dash": 'dot'}}, selector={"legendgroup": "Canada"}) 

fig.show()

您的解释是否可以更详细一点,如果可能的话,甚至可以显示所需输出的图片?很抱歉,我的解释不准确