两组时间数据 时间不一致 怎么在同一个charts里展示堆叠图
时间: 2023-10-10 09:11:05 浏览: 71
用fusioncharts使用json格式数据展示图表
5星 · 资源好评率100%
如果你要在同一个堆叠图中展示两组时间不一致的数据,可以尝试以下步骤:
1. 将两组时间数据转换为相同的时间格式。例如,你可以将两个时间序列都转换为 Unix 时间戳或格式化的日期时间字符串。
2. 将两组数据按照相同的时间粒度进行聚合。例如,你可以按照每小时、每天或每周等时间间隔对数据进行聚合,以便它们可以在同一个图表中进行比较。
3. 使用一个堆叠图表来展示两组数据。在堆叠图表中,每个数据系列都被堆叠在另一个数据系列之上,并且它们共享相同的 X 轴时间轴。
4. 确保你的堆叠图表有一个明确的标签,以便用户可以区分不同的数据系列。你可以将每个数据系列的标签放在图例中,或者在每个数据系列的名称中包含它。
以下是一个使用 Python Matplotlib 库绘制堆叠图的简单示例代码,可以帮助你更好地理解如何实现:
```python
import matplotlib.pyplot as plt
import pandas as pd
# 创建两组时间数据,分别是 2021 年 1 月和 2 月每天的销售额
jan_sales = [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100]
feb_sales = [1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200]
# 将时间数据转换为 pandas 的 DataFrame 格式
date_range = pd.date_range(start='2021-01-01', end='2021-02-28')
df = pd.DataFrame({'jan_sales': jan_sales, 'feb_sales': feb_sales}, index=date_range)
# 创建堆叠图表
fig, ax = plt.subplots()
ax.stackplot(df.index, df['jan_sales'], df['feb_sales'], labels=['Jan Sales', 'Feb Sales'])
# 添加图例和标签
ax.legend(loc='upper left')
ax.set_title('Monthly Sales')
ax.set_xlabel('Date')
ax.set_ylabel('Sales')
# 显示图表
plt.show()
```
这个示例中,我们使用 pandas 将两组销售额数据转换为 DataFrame 格式,并使用 Matplotlib 的 `stackplot` 函数来绘制堆叠图表。我们还添加了图例、标题和轴标签,以便更好地展示数据。
阅读全文