Python的plotly图并不包含所有的值

2024-03-29 10:41:15 发布

您现在位置:Python中文网/ 问答频道 /正文

下面的代码应该使用基于两个列表的plotly库来绘制图形:ambTime作为X轴,domv1R1Temps作为Y轴。 代码如下:

import plotly.graph_objs as go
import plotly.offline as ply
from plotly import tools


ambTime = ['10:32:42.951', '10:32:42.951', '10:32:42.951', '10:32:42.951', 
'10:32:42.951', '10:32:42.951', '10:32:42.951', '10:32:42.951', 
'10:32:42.951', '10:32:42.951', '10:32:42.951', '10:32:42.951', 
'10:32:42.951', '10:32:42.951', '10:32:53.117', '10:32:53.117', 
'10:32:53.117', '10:32:53.117', '10:32:53.117', '10:32:53.117', 
'10:32:53.117', '10:32:53.117', '10:32:53.117', '10:32:53.117', 
'10:32:53.117', '10:32:53.117', '10:32:53.117', '10:32:53.117', 
'10:33:03.273', '10:33:03.273', '10:33:03.273', '10:33:03.273', 
'10:33:03.273', '10:33:03.273', '10:33:03.273', '10:33:03.273', 
'10:33:03.273', '10:33:03.273', '10:33:03.273', '10:33:03.273', 
'10:33:03.273', '10:33:03.273', '10:33:13.428', '10:33:13.428', 
'10:33:13.428', '10:33:13.428', '10:33:13.428', '10:33:13.428', 
'10:33:13.428', '10:33:13.428', '10:33:13.428', '10:33:13.428', 
'10:33:13.428', '10:33:13.428', '10:33:13.428', '10:33:13.428', 
'10:33:23.584', '10:33:23.584', '10:33:23.584', '10:33:23.584', 
.
.
.
.
#This list contains 588 items. I shortened the list for the sake of time
.
.
.
.
'10:35:47.713', '10:35:57.884', '10:35:57.884', '10:35:57.884', 
'10:35:57.884', '10:35:57.884', '10:35:57.884', '10:35:57.884', 
'10:35:57.884', '10:35:57.884', '10:35:57.884', '10:35:57.884', 
'10:35:57.884', '10:35:57.884', '10:35:57.884', '10:36:08.695', 
'10:36:08.695', '10:36:08.695', '10:36:08.695', '10:36:08.695', 
'10:36:08.695', '10:36:08.695', '10:36:08.695', '10:36:08.695', 
'10:36:08.695', '10:36:08.695', '10:36:08.742', '10:36:08.742', 
'10:36:08.742']

domv1R1Temps = ['27', '27', '27', '27', '27', '27', '27', '27', '27', '28', 
'27', '27', '27', '27', '27', '27', '27', '27', '27', '27', '27']

Trace1 = go.Scatter(x= ambTime,y = domv1R1Temps, name='DOMV1 R1 
Temperatures')
ambData = [Trace1]
ambLayout = go.Layout(
    title='Ambient Temperature',
    xaxis=dict(
         title='Time',
         ),
     yaxis=dict(
         title='Y Axis'
        )
     )
fig = go.Figure(data=ambData, layout=ambLayout)
ply.plot(fig, filename="Ambient Temperature.html")

当我运行代码时,它会生成一个只有2个变量的图:请看一下图像

enter image description here

但我想让图表显示列表中的每一项。我在想是否有人知道这里出了什么事


Tags: the代码importgo列表titleasplotly
2条回答

我不是plotly的用户,但它似乎只接受ambTime的前21个元素,因为其他列表domv1R1Temps只有21个元素。正因为如此,时间刻度一直到10:32:53.117,这是第21个元素

至于为什么在图中的温度28没有显示尖峰,我不太清楚。可能和设置有关。理想情况下,您应该有一个Y条目对应于每个输入X。以较短的时间进行试用,首先解决绘图问题;然后找到一种方法来完成domv1R1Temps中的其余条目

这主要发生在点不平衡的时候。我尝试了代码,并提出了相同的观点,他们每一个,它工作得非常好。对于大型数据文件来说,这可能有点乏味,因为在图形不会出现的任何一点上,即使丢失了一个值

import plotly.graph_objs as go
import plotly.offline as ply
from plotly import tools


ambTime = ['10:32:42.951', '10:32:42.951', '10:32:42.951', '10:32:42.951', 
'10:32:42.951', '10:32:42.951', '10:32:42.951', '10:32:42.951', 
'10:32:42.951', '10:32:42.951', '10:32:42.951', '10:32:42.951', 
'10:32:42.951', '10:32:42.951', '10:32:53.117', '10:32:53.117', 
'10:32:53.117', '10:32:53.117', '10:32:53.117', '10:32:53.117', 
'10:32:53.117', '10:32:53.117', '10:32:53.117', '10:32:53.117', 
'10:32:53.117', '10:32:53.117', '10:32:53.117', '10:32:53.117', 
'10:33:03.273', '10:33:03.273', '10:33:03.273', '10:33:03.273', 
'10:33:03.273', '10:33:03.273', '10:33:03.273', '10:33:03.273', 
'10:33:03.273', '10:33:03.273', '10:33:03.273', '10:33:03.273', 
'10:33:03.273', '10:33:03.273', '10:33:13.428', '10:33:13.428', 
'10:33:13.428', '10:33:13.428', '10:33:13.428', '10:33:13.428', 
'10:33:13.428', '10:33:13.428', '10:33:13.428', '10:33:13.428', 
'10:33:13.428', '10:33:13.428', '10:33:13.428', '10:33:13.428', 
'10:33:23.584', '10:33:23.584', '10:33:23.584', '10:33:23.584',
'10:35:47.713', '10:35:57.884', '10:35:57.884', '10:35:57.884', 
'10:35:57.884', '10:35:57.884', '10:35:57.884', '10:35:57.884', 
'10:35:57.884', '10:35:57.884', '10:35:57.884', '10:35:57.884', 
'10:35:57.884', '10:35:57.884', '10:35:57.884', '10:36:08.695', 
'10:36:08.695', '10:36:08.695', '10:36:08.695', '10:36:08.695', 
'10:36:08.695', '10:36:08.695', '10:36:08.695', '10:36:08.695', 
'10:36:08.695', '10:36:08.695', '10:36:08.742', '10:36:08.742', 
'10:36:08.742']

domv1R1Temps = ['27', '27', '27', '27', 
'27', '27', '27', '27', 
'27', '27', '27', '27', 
'27', '27', '27', '27', 
'27', '27', '27', '27', 
'27', '27', '27', '27', 
'27', '27', '27', '27', 
'27', '27', '27', '27', 
'27', '27', '27', '27', 
'28', '28', '28', '28', 
'28', '28', '28', '28', 
'28', '27', '27', '27', 
'28', '27', '27', '27', 
'28', '27', '27', '27', 
'28', '27', '27', '27', 
'28', '27', '27', '27', 
'27', '27', '27', '27', 
'27', '27', '27', '27', 
'27', '27', '27', '27', 
'27', '27', '27', '27', 
'27', '27', '27', '27', 
'27', '27', '27', '27', 
'27']

Trace1 = go.Scatter(x= ambTime,y = domv1R1Temps, name='DOMV1 R1 Temperatures')
ambData = [Trace1]
ambLayout = go.Layout(
    title='Ambient Temperature',
    xaxis=dict(
         title='Time',
         ),
     yaxis=dict(
         title='Y Axis'
        )
     )
fig = go.Figure(data=ambData, layout=ambLayout)
ply.plot(fig, filename="Ambient Temperature.html")

相关问题 更多 >