python - 同一行的不同标记颜色

标签 python plotly plotly-dash

我正在尝试使用plotly 和dash 为网络应用程序创建一个简单的线图。我想要一条连接两点的线。我希望其中一个点是红色,另一个点是绿色。这是我到目前为止所拥有的:

import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.graph_objs as go
external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
app = dash.Dash(__name__, external_stylesheets = external_stylesheets)
graph = dcc.Graph(figure = {
    'data' : [
        go.Scatter(x = [1,4], y = [2,3], mode = 'lines+markers', opacity = 0.7, marker = {
            'size' : 15,
            'line' : {'width' : 0.5, 'color' : 'black'}
        })
    ]
})
app.layout = html.Div([graph])
if __name__ == '__main__':
    app.run_server(debug = False)

我正在包含所有最新软件包的 Jupyter 笔记本中运行此代码。 如果我运行这段代码,我会得到我想要的线图,但两个点都是蓝色的。我希望对应于 (1, 2) 的点为红色,(4, 3) 对应的点为绿色。我该怎么做呢? 提前非常感谢您!

最佳答案

我相信此问题的公认解决方案是在图形数据中包含 3 个不同的 go.scatter() 对象。一个用于线条,一个用于每个标记。您的应用程序最终将如下所示:

import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.graph_objs as go
external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
app = dash.Dash(__name__, external_stylesheets = external_stylesheets)
graph = dcc.Graph(figure = {
    'data' : [
        go.Scatter(x = [1,4], y = [2,3], mode = 'lines+markers', opacity = 0.7, 
                   marker={'color':["red","green"], "size":15})
    ]
})
app.layout = html.Div([graph])

if __name__ == '__main__':
    app.run_server(debug = False)

关于python - 同一行的不同标记颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57497524/

相关文章:

python - 类实例的自动递增 ID

python - 如何在 Django 2.1 中实现新帖子的审核

r - 从 3d 图表创建视频

python - DataTable - 单元格中的唯一颜色子字符串

python - 情节破折号 : data_table background color for individual cell

python - 将拖动功能绑定(bind)到 Tkinter UI 中的对象

Python:使用 ascii 码打印

python - 使用 Plotly 和 Choropleth 绘制多边形

python - 如何显示多行而不是一行?

python - 当有人单击自定义按钮时,我可以触发什么输入事件?