添加注记文本会产生整型错误消息

Adding annotation text yields integer error message(添加注记文本会产生整型错误消息)
本文介绍了添加注记文本会产生整型错误消息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我将vline添加到我的图形时,它工作得很好:

fig.add_vline(
        x=pd.to_datetime('1970-01-01 00:00:00'),
        line_dash='dot',
        row=0)

[![在此处输入图片描述][1]][1]

当我尝试在vline旁边添加批注文本时,收到错误消息

fig.add_vline(
    x=pd.to_datetime('1970-01-01 00:00:00'),
    line_dash='dot',
    annotation_text='15',
    row=0)
TypeError:整数和整数数组的加/减 不再支持时间戳。不是加/减[2-0], 使用n * obj.freq

推荐答案

  • 作为一种解决办法,对add_vline()调用一次,对add_annotation()调用一次
  • 已将参数设置为add_annotation(),以便批注位于行首
import pandas as pd
import plotly.express as px

ROWS = 20
df = pd.DataFrame({"ColA":pd.date_range("1-jan-1970", freq="4H", periods=ROWS), "ColB":np.random.uniform(1,30, ROWS)})

fig = px.line(df, x="ColA", y="ColB")
fig.update_xaxes(title_font=dict(size=12), tickformat='%X')

for time in df["ColA"].values:
    time = pd.Timestamp(time).to_pydatetime()
    fig.add_vline(x=time)
    fig.add_annotation(x=time, y=1, yref="paper", text="15")

fig

子图

import pandas as pd
import plotly.express as px

ROWS = 20
df = pd.DataFrame(
    {
        "ColA": pd.date_range("1-jan-1970", freq="4H", periods=ROWS),
        "ColB": np.random.uniform(1, 30, ROWS),
        "Facet": np.repeat(["plot 1", "plot 2"], ROWS // 2),
    }
)

fig = px.line(df, x="ColA", y="ColB", facet_row="Facet")
fig.update_xaxes(title_font=dict(size=12), tickformat="%X")

for time, y, facet in df[["ColA", "ColB", "Facet"]].values:
    time = pd.Timestamp(time).to_pydatetime()
    fig.add_vline(x=time, row=0 if facet == "plot 1" else 1)
    fig.add_annotation(x=time, y=y, text="15", row=0 if facet == "plot 1" else 1, col=0)

fig

这篇关于添加注记文本会产生整型错误消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)