擅长:python、mysql、java
<p>您的日期列似乎是一个字符串。如果将其转换为日期时间,则不必对数据帧进行排序:plotly express将x轴设置为日期时间:</p>
<p><strong>工作代码示例:</strong></p>
<pre><code>import pandas as pd
import plotly.express as px
from io import StringIO
text = """
date percent type
3/1/2020 10 a
3/1/2020 0 b
4/1/2020 15 a
4/1/2020 60 b
1/1/2019 25 a
1/1/2019 1 b
2/1/2019 50 c
2/1/2019 20 d
"""
df = pd.read_csv(StringIO(text), sep='\s+', header=0)
px.scatter(df, x="date", y="percent", color="type", facet_col="type")
</code></pre>
<p><a href="https://i.stack.imgur.com/3mZs9.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/3mZs9.png" alt="plotly express showing datetime axis"/></a></p>