惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
爱范儿
爱范儿
MongoDB | Blog
MongoDB | Blog
腾讯CDC
aimingoo的专栏
aimingoo的专栏
月光博客
月光博客
Engineering at Meta
Engineering at Meta
C
Check Point Blog
N
Netflix TechBlog - Medium
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LangChain Blog
大猫的无限游戏
大猫的无限游戏
IT之家
IT之家
Microsoft Security Blog
Microsoft Security Blog
GbyAI
GbyAI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
The Blog of Author Tim Ferriss
Last Week in AI
Last Week in AI
B
Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
WordPress大学
WordPress大学
博客园 - 司徒正美

博客园 - daviyoung

Windows 11 22H2 安装 .NET Framework 3.5 完整教程 System.Threading.Timer 详细讲解 Agent 开发入门(一):从零构建你的第一个智能体 用 C# 开发一个解释器语言——基于《Crafting Interpreters》的实战系列(五)表达式求值 手把手搭建OPC UA服务器 图像处理库Pillow的使用:批量裁剪图片 python-docx库的使用:图片插入到word文档里 modbus(二)用NModbus4库实现Modbus tcp从站 Jenkins 容器化实践:Docker 部署与 CI/CD 流水线配置 Streamlit实战 用pycdc批量反编译pyc文件 以ENS 的 BaseRegistrarImplementation 合约为例,用web3.py调用合约 虚拟环境下安装包后,vs code仍然有下滑波浪线及显示找不到包(运行是正常的)的解决办法 Merkle Tree 用 C# 开发一个解释器语言——基于《Crafting Interpreters》的实战系列(四)可视化 语法树 Solidity开发ERC20智能合约claim token的功能 Solidity开发ERC20智能合约demo及部署到测试网 用 C# 开发一个解释器语言——基于《Crafting Interpreters》的实战系列(三)表达式的抽象语法树设计(Expr) 用 C# 开发一个解释器语言——基于《Crafting Interpreters》的实战系列(二)词法分析器
python使用plotly绘制图表
daviyoung · 2026-01-13 · via 博客园 - daviyoung
import json
from datetime import datetime, timedelta
import plotly.graph_objects as go

# 读取数据
with open('data.txt', 'r', encoding='utf-8') as f:
    content = f.read()

data = json.loads(content)

# 转换为 datetime 和数值
dates = [datetime.fromtimestamp(item[0]/1000) for item in data]
values = [item[1] for item in data]

# 最近一年
end_date = dates[-1]
start_date = end_date - timedelta(days=365)

filtered_dates = []
filtered_values = []

for d, v in zip(dates, values):
    if d >= start_date:
        filtered_dates.append(d)
        filtered_values.append(v)

# 计算变化量
diffs = [filtered_values[i] - filtered_values[i-1] for i in range(1, len(filtered_values))]
diff_dates = filtered_dates[1:]
diff_values = filtered_values[1:]

# 准备颜色:增加绿色,减少红色
colors = ['green' if d > 0 else 'red' for d in diffs]

# 创建柱状图
fig = go.Figure(data=[go.Bar(
    x=diff_dates,
    y=diffs,
    marker_color=colors,
    hovertemplate=
    'Date: %{x|%Y-%m-%d}<br>' +
    'Value: %{customdata[0]}<br>' +
    'Change: %{y}<extra></extra>',
    customdata=list(zip(diff_values))
)])

fig.update_layout(
    title='Daily Change in Value (Last 1 Year)',
    xaxis_title='Date',
    yaxis_title='Change',
    bargap=0.1,
    xaxis=dict(tickangle=-45)
)

fig.show()