【问题标题】:Python Plotly Heatmap Datetime only showing portionPython Plotly Heatmap Datetime 仅显示部分
【发布时间】:2018-06-25 23:17:46
【问题描述】:

我正在定义一个带有二进制 z 值的热图日期时间序列。

go.Heatmap 的输出似乎是正确的......但是,该图只显示了它的一小部分......

谁能帮忙调试?我没有为布局组件设置任何限制(也没有设置任何内容)。

{'colorscale': 'Viridis',
 'type': 'heatmap',
 'x': [datetime.datetime(2018, 6, 4, 12, 0, 5),
       datetime.datetime(2018, 6, 4, 12, 0, 10),
       datetime.datetime(2018, 6, 4, 12, 0, 15),
       datetime.datetime(2018, 6, 4, 12, 0, 20),
       .....
       all the way to index 719],
 'y': ['MotionSensor'],
 'z': ['1',
       '1',
       '1',
       '0',
       '0',
       '0',
       '0',
       '0',
       .....
       all the way to index 719]}

【问题讨论】:

    标签: python python-3.x datetime plotly heatmap


    【解决方案1】:

    热图出错的方式有很多种。

    让我指出适用于您的情况!

    1. Z-Axis 元素以字符串形式给出,但我们需要将其作为数字传递,这就是为什么你会弄错色阶。你可以做这样的事情来获取所有的数字。

      arr = ['1', '1', '1', '0']
      [int(i) for i in arr]
      

    这将给我们一个数字列表而不是字符串

    1. Z-axis 元素应该是列表列表 (Ex: [[1], [2], [3]])),其中第一个列表对应于每个 Y-Axis 的值及其对应的 X-Axis 值。比如:

      Y: 1, X: [1, 2, 3], Z: [1234,1234566,56456]
      Y: 2, X: [1, 2, 3], Z: [5345,2346,7654]
      

      所以这可以设置为热图属性:

      {x: [1, 2, 3],
      y: [1,2],
      z: [ [1234,1234566,56456], [5345,2346,7654] ] }
      

    尝试这些更改,如果布局问题仍然存在,请告诉我。

    这里有一些工作示例代码供参考

    import plotly
    import plotly.plotly  as py
    from plotly.grid_objs import Grid, Column
    import numpy as np
    import pandas as pd
    import plotly.offline as py_offline
    import plotly.graph_objs as go
    import datetime
    py_offline.init_notebook_mode()
    
    trace = go.Heatmap(z=
    [[int(i) for i in ['1',
           '1',
           '1',
           '0']]],
                       x= [datetime.datetime(2018, 6, 4, 12, 0, 5),
           datetime.datetime(2018, 6, 4, 12, 0, 10),
           datetime.datetime(2018, 6, 4, 12, 0, 15),
           datetime.datetime(2018, 6, 4, 12, 0, 20)],
                       y=['MotionSensor'])
    data=[trace]
    py_offline.iplot(data, filename='labelled-heatmap')
    

    【讨论】:

      猜你喜欢
      • 2012-02-01
      • 2016-06-04
      • 1970-01-01
      • 2011-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      相关资源
      最近更新 更多