我有一个数据框(见下面的“测试数据”部分),我想添加一个辅助x轴(在顶部)。但该轴必须在0到38.24(ms)之间。这是“时间”列中所有值的总和。它表示执行4个推断所花费的总时间。 到目前为止,我尝试了“twinx()”但没有成功
我该怎么做?是可能的还是我缺少信息
raw_data = {'Time': [21.9235, 4.17876, 4.02168, 3.81504, 4.2972],
'TPU': [33.3, 33.3, 33.3, 33.3, 33.3],
'CPU': [32, 32, 32, 32, 32],
'MemUsed': [435.92, 435.90, 436.02, 436.02, 436.19]}
df_m=pd.DataFrame(raw_data, columns = ['Time', 'TPU', 'CPU', 'MemUsed'])
df_m
##Sum of all values in column Time(ms)
(df_m.iloc[:, 0].sum())
##Time per inference(ms)
ax = df_m.plot(kind = 'line', y = 'MemUsed', grid = True)
ax.set_xlabel("NUMBER OF INFERENCES")
ax.set_ylabel("MemUsed(MB)")
ax = df_m.plot(kind = 'line', y = 'MemUsed', grid = True)
df_m.plot(kind='line', ax=ax.twinx(), secondary_x=range(0, 39))
ax.set_xlabel("NUMBER OF INFERENCES")
ax.set_ylabel("MemUsed(MB)")
这张大桌子看起来怎么样
除了您对plotly的积极评价之外,下面是一个如何为数据集实现多X轴的示例
代码比看起来简单得多。由于我对
dict
进行了格式化以便于阅读,因此代码看起来“冗长”关键要素包括:
time
列(time_c
)的累积和以在xaxis2
上使用李>xaxis
对齐的隐藏跟踪,以及与xaxis2
对齐的时间数据。如果没有隐藏轨迹,两个轴都不会显示,或者它们会显示但未对齐,因为只打印了一条轨迹李>(更新)样本代码:
以下代码已更新,以解决OP在更大(70k行)数据集上遇到的问题
密钥更改是对
layout['xaxis']
和layout['xaxis2']
指令的更新,以包含'type': 'category'
、'nticks'
和定义的'range'
密钥示例图(原始数据集):
为了代码的简单性,我特意省略了任何额外的外观配置。然而,对于顶层plotly docs,这些图是高度可配置的
示例图(新数据集):
此图使用来自另一个答案的(较大的70k行)综合数据集
尽管通常不鼓励这样做,但我将发布另一个答案来解决新的数据集,因为前面的答案在给定原始数据集的情况下是有效的
此示例与辅助x轴的原始请求不同,原因有两个:
因此,采用了不同的方法-x轴的组合标记。与打印两个轴不同,单个x轴具有两个必需的标签
示例图:
注:这(显然)是综合数据,以获得更新问题中的行数(70k)
示例代码:
相关问题 更多 >
编程相关推荐