繁体   English   中英

在 plotly 中创建离散迹线时出现问题 - Python

[英]Issue creating discrete traces in plotly - Python

我正在尝试 plot 这个数据集:

Date Time           Sample Name     Result
2020-08-26 14:34:02 ZK - Myoblasts  74.2
2020-08-26 14:55:24 QC              50.6
2020-08-26 15:12:27 CD T2           60.7
2020-08-27 15:23:10 QC              85.4
2020-08-27 15:25:06 ZK - Myoblasts  85.4
2020-08-27 15:27:32 CD T2           83.1
2020-08-27 15:47:05 CD T2           89.4
2020-08-27 16:57:02 QC              96.3
2020-09-01 18:49:00 QC              45.6
2020-09-01 18:54:00 Amy F4 P2       32.7
2020-09-01 18:58:00 Amy F4 P2       10.0
2020-09-02 14:41:00 KL - plate 1    78.0
2020-09-02 14:48:00 KL - plate 1    56.0
2020-09-02 14:52:00 Suspension      80.0
2020-09-02 15:51:00 Suspension      23.0
2020-09-02 15:55:00 Amy F4 P2       60.0

我设法 plot 它但它将所有内容绘制为单个跟踪,如下所示:

在此处输入图像描述

我想要的是对每个“示例名称”进行不同的跟踪,以便我可以删除/添加它们并只留下我想在 plot 上看到的那些。因此,将显示每个不同的“示例名称”在右侧的图例中以不同的颜色显示为离散迹线列表。

我的代码在这里:

layout = go.Layout(title='Viability Plot',
                   xaxis={'title':'Sample Name'},
                   yaxis={'title':'Viability(%)'})
    
    
fig = go.Figure(layout=layout)


fig.add_trace(go.Scatter(x=df['Sample Name'],
                         y=df['Result'],
                         mode='markers',
                         hovertext=df['Date Time'].astype(str)
                        )
             )


fig.show()

请帮助将样本名称作为不同的痕迹:(

简单的答案是使用Plotly 快递

import pandas as pd
import plotly.express as px
import io

df = pd.read_csv(
    io.StringIO(
        """Date Time           Sample Name     Result
2020-08-26 14:34:02  ZK - Myoblasts  74.2
2020-08-26 14:55:24  QC              50.6
2020-08-26 15:12:27  CD T2           60.7
2020-08-27 15:23:10  QC              85.4
2020-08-27 15:25:06  ZK - Myoblasts  85.4
2020-08-27 15:27:32  CD T2           83.1
2020-08-27 15:47:05  CD T2           89.4
2020-08-27 16:57:02  QC              96.3
2020-09-01 18:49:00  QC              45.6
2020-09-01 18:54:00  Amy F4 P2       32.7
2020-09-01 18:58:00  Amy F4 P2       10.0
2020-09-02 14:41:00  KL - plate 1    78.0
2020-09-02 14:48:00  KL - plate 1    56.0
2020-09-02 14:52:00  Suspension      80.0
2020-09-02 15:51:00  Suspension      23.0
2020-09-02 15:55:00  Amy F4 P2       60.0"""
    ),
    sep="\s\s+",
    engine="python",
)
df["Date Time"] = pd.to_datetime(df["Date Time"])

px.scatter(
    df, x="Sample Name", y="Result", color="Sample Name", hover_data=["Date Time"]
).update_layout(
    title="Viability Plot",
    xaxis={"title": "Sample Name"},
    yaxis={"title": "Viability(%)"},
)

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM