Python 用分类数据绘制曲面图
试图准确了解曲面打印输入如何为plotly工作。我所看到的每个示例都有数值,所需的输入是将x或y作为一个类别 在一个测试示例中,我有3个州每周都有一个“count”值。我想看看每个州每周的“计数”进展情况。数据最初是这样构造的Python 用分类数据绘制曲面图,python,plotly,Python,Plotly,试图准确了解曲面打印输入如何为plotly工作。我所看到的每个示例都有数值,所需的输入是将x或y作为一个类别 在一个测试示例中,我有3个州每周都有一个“count”值。我想看看每个州每周的“计数”进展情况。数据最初是这样构造的 import pandas as p import plotly.graph_objects as go # dummy categorical data labels = ['state','week','count'] test_data = [ ['Washing
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的最大值,因为colorscale条在数据框中上升到最大值,但我无法确定我需要做什么,所以每个状态都正确地显示为它自己的刻度,每周都显示在另一个轴上,z与数据帧中的week:state“count”值直接对应。没有一个尝试的方法是完全正确的,结果如此不同,在这里显示它们不会增加价值 是否有人有实际的分类数据工作示例,或者知道如何构造上述数据帧,以便曲面图显示随时间变化的状态计数
一种更具体的提问方式是:如何获取一个数据帧,其中3列应该是X、Y和Z,并让它们在曲面图中显示出来?在X和Y之间,其中一个需要是表示类别的字符串,另一个需要能够是日期时间或整数。啊,它采用与热图相同的输入。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()