有没有可能用GO.SISTTER做脱衣舞呢?如果没有,你能帮我用px.strie函数转换我的代码吗?

Data generation :

import pandas as pd
import random

rows = []
for i in range(0, 130, 1):
     rows.append([i+57, i+39585, [random.randint(1,100), random.randint(1,100), random.randint(1,100), random.randint(1,100), random.randint(1,100), random.randint(1,100), random.randint(1,100), random.randint(1,100),random.randint(1,100),random.randint(1,100),random.randint(1,100),random.randint(1,100),random.randint(1,100),random.randint(1,100),random.randint(1,100)]])
df_test = pd.DataFrame(rows, columns=['Measure Number', 'Timer', 'Values'])
display(df_test)

rows2 = []
for i in range(70, 200, 1):
     rows2.append([i+57, i+39585, [random.randint(1,100), random.randint(1,100), random.randint(1,100), random.randint(1,100), random.randint(1,100), random.randint(1,100), random.randint(1,100), random.randint(1,100),random.randint(1,100),random.randint(1,100),random.randint(1,100),random.randint(1,100),random.randint(1,100),random.randint(1,100),random.randint(1,100)]])
df_test2 = pd.DataFrame(rows2, columns=['Measure Number', 'Timer', 'Values'])
display(df_test2)

rows3 = []
for i in range(170, 300, 1):
    rows3.append([i+57, i+39585, [random.randint(1,100), random.randint(1,100), random.randint(1,100), random.randint(1,100), random.randint(1,100), random.randint(1,100), random.randint(1,100), random.randint(1,100),random.randint(1,100),random.randint(1,100),random.randint(1,100),random.randint(1,100),random.randint(1,100),random.randint(1,100),random.randint(1,100)]])
df_test3 = pd.DataFrame(rows3, columns=['Measure Number', 'Timer', 'Values'])
display(df_test3)

Plotly plots :

from plotly.offline import init_notebook_mode, iplot
from plotly.graph_objs import *
import plotly.graph_objects as go
import plotly.express as px


init_notebook_mode(connected=True)         # initiate notebook for offline plot

fig = go.Figure()


for i in range(0, 130, 1):
    # Add traces
    fig.add_trace(
        go.Scatter(
            x=[j for j in range(15)],
            y=df_test['Values'][i],
            mode="markers",
            marker=dict(color="DarkOrange")
        )
    )
    
    fig.add_trace(
        go.Scatter(
            x=[j for j in range(15)],
            y=df_test2['Values'][i],
            mode="markers",
            marker=dict(color="Crimson")
        )
    )

    fig.add_trace(
        go.Scatter(
            x=[j for j in range(15)],
            y=df_test3['Values'][i],
            mode="markers",
            marker=dict(color="RebeccaPurple")
        )
    )


fig.show()

Plot output :. (https://i.stack.imgur.com/65Mvr.png).

Image example to explain what I want :. [From]2 [To]3

示例的来源:https://community.plotly.com/t/how-to-show-overlap-points-in-scatter-plot/24148/7

推荐答案

我的方法是判断参考文献中example graphs的 struct ,可以在图.data中找到.接下来,我将在图形对象中添加boxplot example中的px.strie配置项.简单地说,我们只是用条带在盒子图上使盒子的 colored颜色 透明.我用简化的数据创建代码,因为您的样本数据又大又复杂.要对它们进行分组,请参见参考.

import pandas as pd
import random

rows = []
for i in range(0, 20, 1):
     rows.append([i+57, i+39585,
                  random.randint(1,100),
                  random.randint(1,100),
                  random.randint(1,100),
                  random.randint(1,100),
                  random.randint(1,100)])

cols = ['Col{}'.format(x) for x in range(5)]
df_test = pd.DataFrame(rows, columns=['Measure Number', 'Timer']+cols)

df_test.head()

    Measure Number  Timer   Col0    Col1    Col2    Col3    Col4
0   57  39585   47  8   49  80  30
1   58  39586   64  74  12  73  46
2   59  39587   21  95  38  35  85
3   60  39588   50  7   100     30  82
4   61  39589   3   84  93  86  9

import plotly.graph_objects as go
import numpy as np

fig = go.Figure()

for i in df_test.columns[2:]:
    fig.add_trace(go.Box(
        y=df_test[i],
        boxpoints='all',
        hovertemplate='x=%{x}<br>y=%{y}<extra></extra>',
        hoveron='points',
        jitter=0.2,
        pointpos=0,
        fillcolor='rgba(255,255,255,0)',
        line=dict(color='rgba(255,255,255,0)'),
        marker=dict(color='#636efa'),
        alignmentgroup=True,
        showlegend=False)
                 )
fig.update_xaxes(tickvals=np.arange(0,5,1), ticktext=[str(x) for x in np.arange(0,5,1)])
fig.update_layout(height=500)
fig.show()

enter image description here

Python相关问答推荐

带有Postgres的Flask-Data在调用少量API后崩溃

仅使用2种 colored颜色 创建热图

合并同名列,但一列为空,另一列包含值

在Python中管理多个OpenGVBO和VAO实例

在Windows上启动新Python项目的正确步骤顺序

使用Keras的线性回归参数估计

使用mySQL的SQlalchemy过滤重叠时间段

如何计算两极打印机中 * 所有列 * 的出现次数?

Polars LazyFrame在收集后未返回指定的模式顺序

如何在Python中将returns.context. DeliverresContext与Deliverc函数一起使用?

更改键盘按钮进入'

如何在虚拟Python环境中运行Python程序?

数据抓取失败:寻求帮助

Django REST Framework:无法正确地将值注释到多对多模型,不断得到错误字段名称字段对模型无效'<><>

将输入聚合到统一词典中

多处理队列在与Forking http.server一起使用时随机跳过项目

Pandas GroupBy可以分成两个盒子吗?

与命令行相比,相同的Python代码在Companyter Notebook中运行速度慢20倍

在输入行运行时停止代码

如何在Great Table中处理inf和nans