python - 如何在 matplotlib 中使用 5 列作为日期?
问题描述
我有前 6 列作为日期的数据,最后一列是值:
2013 03 17 00 00 00.000000 -3.140000
2013 03 17 00 00 30.000000 -2.140000
数据点是每 30 秒。我想使用第 0,1,2,3,5 列作为 x 值时间,并将其与最后一列进行对比。
omnibz = np.loadtxt('data')
bz_plt = plt.plot(omni[:,5],omnibz[:,6],linewidth=1.1)
我应该如何解决这个问题?
解决方案
这将起作用(但会丢失小数秒):
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
d = np.array([[2013,3,17,0,0,0.000000,
-3.140000],[2016,3,17,0,0,30.000000,-2.140000]])
d_time = pd.to_datetime(((d[:,0:1]*10000000000)+(d[:,1:2]*100000000)+(d[:,2:3]*1000000)+(d[:,3:4]*10000)+(d[:,4:5]*100)+np.round(d[:,5:6])).squeeze().astype(int),format='%Y%m%d%H%M%S')
plt.plot(d_time,d[:,6:7])
推荐阅读
- javascript - 引导程序中的 Highcharts 导航按钮和全屏按钮
- shiny - 在 R 中使用 Highcharter 创建柱形图
- swift - 如何跟踪文件的变化?macOS 开发/快速
- protractor - 量角器浏览器从 multiCapabilities 中选择
- python - 在 Python 中安装 java 包时出错
- python - 查找所有组合,通过消除一个 ar 直到列表为空,以及在 python 3 中处理列表的最佳数据结构是什么?
- php - 使用 PHP 在特定 XML 节点读取特定数组的值
- javascript - 在不同的突变中使用相同对象的输入类型
- java - Java将负浮点数转换为字节数组
- database - Android Studio:创建了数据库,但没有表