pandas 散点图:如何仅为一个组创建散点图或折线图

wqsoz72f  于 2022-12-02  发布在  其他
关注(0)|答案(1)|浏览(172)

我的问题看起来很简单,但我却很难理解如何仅为一组值创建散点图或折线图。例如,我的数据框有3列。我的表如下所示:
| 果实|磅|标价|
| - -|- -|- -|
| 橙子|一个|1.4分|
| 橙子|2个|一点七|
| 苹果|三个|二、一|
| 苹果|一个|1.4分|
| 猕猴桃|2个|1.1分|
我想创建一个散点图,以磅为x轴,价格为y轴。但是,我只想为橙子类别绘制散点图。我应该使用什么参数来指定橙色类别?
我现在拥有的是:

px.scatter(df, x=df.lb, y=df.price)
mzsu5hc0

mzsu5hc01#

添加一个用户选择下拉列表将完成您的目标。使用一个图形对象为每种水果类型绘制一个图形,并显示显示/隐藏设置。所有且仅每种类型将作为下拉列表类型可用。给予显示/隐藏列表作为按钮的输入。现在,下拉选择将在显示和隐藏之间切换。请参考参考中的示例。

import plotly.graph_objects as go

fig = go.Figure()

for f in df['fruit'].unique():
    dff = df.query('fruit == @f')
    fig.add_trace(go.Scatter(mode='markers', x=dff.lb, y=dff.price, name=f, visible=True))
    
fig.update_layout(
    updatemenus=[
        dict(
            active=0,
            buttons=list([
                dict(label="ALL",
                     method="update",
                     args=[{"visible": [True, True, True]},
                           {"title": "All fruit"}]),
                dict(label="Orange",
                     method="update",
                     args=[{"visible": [True, False, False]},
                           {"title": "Orange"}]),
                dict(label="Apple",
                     method="update",
                     args=[{"visible": [False, True, False]},
                           {"title": "Apple"}]),
                dict(label="Kiwi",
                     method="update",
                     args=[{"visible": [False, False, True]},
                           {"title": "Kiwi"}]),
            ]),
        )
    ])

fig.show()

相关问题