【问题标题】:Plotly Surface Plot with Categorical Data使用分类数据绘制曲面图
【发布时间】:2021-02-02 18:32:21
【问题描述】:

试图准确了解 Surface 绘图输入如何用于绘图。我见过的每个示例的所有值都是数字,并且所需的输入是 x 或 y 是一个类别。

在一个测试示例中,我有 3 个州每周都有一个“计数”值。我想每周查看每个州的“计数”进展情况。数据最初的结构是这样的

import pandas as p
import plotly.graph_objects as go

# dummy categorical data
labels = ['state','week','count']
test_data = [
['Washington', 1, 5],
['Washington', 2, 3],
['Washington', 3, 1],
['Washington', 4, 0],
['California', 1, 2],
['California', 2, 4],
['California', 3, 6],
['California', 4, 8],
['New York', 1, 0],
['New York', 2, 5],
['New York', 3, 5],
['New York', 4, 15]]
dataFrame = p.DataFrame(test_data, columns=labels)

之后变得棘手的地方是我不确定这需要如何构建,所以在查看你拥有的情节时

  • 包含每周的 X 轴
  • 包含每个状态的 Y 轴
  • Z 轴每周显示每个州的计数

此时我已经尝试了很多不同的方法,我可以说它理解 Z 的最大值,因为色标条上升到数据框中的最大值,但我不知道我需要什么为此,每个状态都正确显示为自己的刻度,每周显示在另一个轴上,z 直接对应于数据框中的 week:state 'count' 值。没有一个尝试过的方法是完全正确的,结果如此不同,在这里展示它们不会增加价值。

有没有人有真实分类数据的实际工作示例,或者知道构造上述数据框的方法,以便表面图显示随时间按状态计算的计数?


更具体的提问方式是:如何获取一个数据框,其中 3 列应该是 X、Y 和 Z,并让它们在 Surface 图中显示?在 X 和 Y 之间,其中一个需要是表示类别的字符串,另一个需要能够是 datetime 或 int。

【问题讨论】:

    标签: python plotly


    【解决方案1】:

    啊,它采用与热图相同的输入。 X 和 Y 更是如此标签值,而您的 z 数据将包含所有绘制的值。我能够使用前面的例子把它放在一起

    # grab x/y labels, create storage for z data
    states = dataFrame['state'].unique()
    states.sort()
    weeks = dataFrame['week'].unique()
    weeks.sort()
    z_data = []
    
    # extract z data using x,y coordinates within the dataframe
    for week in weeks:
      row = []
      for state in states:
        val = dataFrame[
          (dataFrame['state'] == state) &
          (dataFrame['week'] == week)]['count'].values[0]
        row.append(val)
      z_data.append(row)
    
    
    # create and show the Surface plot
    trace = go.Surface(x=states, y=weeks, z=z_data)
    data = [trace]
    fig = go.Figure(data=data)
    fig.show()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-07
      • 1970-01-01
      相关资源
      最近更新 更多