如何将具有不同时间轴的 2 个或多个 maesurements(csv) 绘制成一个带有熊猫的图形并绘图

斯特凡·贾里茨

我正在测量设备。我采样了不同的值,比如不同时间的温度。现在我喜欢通过 plotly 和 pandas 将我的数据可视化为曲线。

我正在寻找如何做到这一点的建议。

举个例子并为简单起见,我将 2 个数据集存储在 2 个单独的 csv 文件中,具有相同的标题。喜欢:ds1.csv

                     timestamp  value
2021-09-09 16:47:36.231446    355
2021-09-09 16:47:41.208629    355

ds2.csv

                     timestamp  value
2021-09-09 16:47:36.236132     30
2021-09-09 16:47:46.235707     30
2021-09-09 16:47:56.240340     30

值的时间戳不相同,但它们指的是同一个时钟。

所以我喜欢用plotly把ds1和ds2画成同一个图。

fig1 = plotly.express.line(ds1, x = 'timestamp', y = 'value', title='Temp1')
fig2 = plotly.express.line(ds2, x = 'timestamp', y = 'value', title='Temp2')
?fig = fig1 and fig2?
fig.show()

知道如何做到这一点吗?

普里亚

将文件作为熊猫数据帧读取。如果使用 plotly 图形对象,在同一个图上绘制两个图形会更容易go.Bar or go.Scatter您可以通过提供范围和dticks参数使 xaxis(timestamps) 刻度线性变化

下面的示例显示了一个简单的散点图,其中包含绘制在同一图形上的两个数字。

import numpy as np
import pandas as pd
import plotly.offline as py
import plotly.graph_objs as go
from plotly import tools

df1 = pd.DataFrame({"X":np.linspace(0,30,10), "Y":np.random.rand(10)})
df2 = pd.DataFrame({"A":np.linspace(0,40,10), "B":np.random.rand(10)})

# plotting the graphs...


def scatter_chart(x, y, color, name):

   trace = go.Scatter(
         x=x.values,
         y=y.values,
         name=name,

         marker=dict(
                color=color,
                line=dict(
                color=color,
                width=1)
              ),
          )
  return trace
# for loop could be used
trace1 = scatter_chart(df2["A"], df2["B"], 'rgb(128, 0, 128)', "df2")
trace2 = scatter_chart(df1["X"], df1["Y"], 'rgba(50, 171, 96, 0.6)', "df1")
fig = tools.make_subplots(rows=1,cols=1, vertical_spacing=0.5)
fig.add_trace(trace1)
fig.add_trace(trace2)

fig.update_layout(
   title="df2 and df1 plot",
   height=600, 
   width=600, 
  # annotations=annotations, 
  xaxis=dict(tickangle=-45),
  legend=dict(x=0.029, y=1.038, font_size=10),
  margin=dict(l=100, r=20, t=70, b=70),
  paper_bgcolor='rgb(248, 248, 255)',
  plot_bgcolor='rgb(248, 248, 255)',)

# xaxis could be customized further
fig['layout']['xaxis'].update(title='', range=[0, 500], dtick=50, autorange=False)
py.iplot(fig, filename='pageviews_plots_4')

请运行代码并查看...希望你能明白。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将2个具有不同时间范围的类似查询合并为1个,而不是使用UNION ALL

如何在python中的同一轴上绘制具有不同时间频率的两个时间序列数据?

将多个带有重叠的ohlc csv合并为一个带有熊猫的分类csv文件

如何合并具有不同时间戳密度的两个熊猫数据帧?

如何合并两个具有不同时间戳的熊猫

如何在Python Matplotlib中绘制两个具有不同时间间隔的数据集并使它们共享轴

如何合并具有不同时间戳的两个不同数据帧?

R ggplot2-在一个具有不同x轴范围的图中绘制多个函数

如何创建一个新列,其中包含Nan带有熊猫的列的名称?

Chartkick折线图显示具有不同时间的上一个日期

pythonic方法在多个键上合并2个列表(没有熊猫)

使用xts在R中绘制具有不同时间索引的多个时间序列

如何使用同一个 UIButton 在不同时间执行多个不同的动画?

SparkSQL:如何对两个具有不同时间戳的时间序列数据集求和

如何使用ggplot2在一个绘图中合并两个或多个绘图

如何并排组合两个具有不同时间框架但有空白的 Panda 数据框

合并两个具有不同时间粒度的时间序列

我想创建一个具有不同时间单位作为方法的时间类

一个绘图中的两个(或多个)图形在python中具有不同的x轴和y轴比例

如何摆脱某些列并将其写到另一个带有熊猫的文件中?

SQL查询以合并两个具有不同时间戳的表作为索引

在具有不同时间戳的两个文档之间减去数字字段

如何将具有不同时间格式的列统一为一种格式?

创建一个新变量并基于带有熊猫数据框的日期范围应用条件值

从带有熊猫的列中提取值时,无法仅检索遇到的第一个值

Matplotlib 将多个折线图绘制成一个轴

带有两个不同时间索引的熊猫数据帧操作(除法乘法)

D3:在1个图形中绘制3个csv,每个图形都有一个功能,但2个无效

如何在单个ffmpeg命令中将不同时间的2个视频叠加到另一个视频上?