visualization
pyechartsを使用したチャート作成、HTML レポート生成、可視化のベストプラクティスに関する知識
description の原文を見る
Knowledge about pyecharts chart creation, HTML report generation, and visualization best practices
SKILL.md 本文
ビジュアライゼーション スキル
テクノロジー スタック
- pyecharts: Apache EChartsのPythonラッパー
- Apache ECharts: JavaScriptチャートライブラリ
- 出力: 埋め込みJSを含む自己完結型HTML
チャートタイプ リファレンス
棒グラフ
from pyecharts.charts import Bar
from pyecharts import options as opts
chart = Bar()
chart.add_xaxis(labels)
chart.add_yaxis("Series Name", values)
chart.set_global_opts(
title_opts=opts.TitleOpts(title="Chart Title"),
tooltip_opts=opts.TooltipOpts(trigger="axis"),
xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=45)),
)
折れ線グラフ
from pyecharts.charts import Line
chart = Line()
chart.add_xaxis(dates)
chart.add_yaxis("Actual", values, is_smooth=True)
chart.add_yaxis("7-Day MA", moving_avg_7, is_smooth=True, linestyle_opts=opts.LineStyleOpts(type_="dashed"))
円グラフ
from pyecharts.charts import Pie
chart = Pie()
chart.add("", list(zip(labels, values)))
chart.set_global_opts(legend_opts=opts.LegendOpts(orient="vertical", pos_left="left"))
ヒートマップ
from pyecharts.charts import HeatMap
chart = HeatMap()
chart.add_xaxis(x_labels)
chart.add_yaxis("", y_labels, value=[[x, y, val], ...])
chart.set_global_opts(
visualmap_opts=opts.VisualMapOpts(min_=0, max_=max_val),
)
散布図(異常検知用)
from pyecharts.charts import Scatter
chart = Scatter()
chart.add_xaxis(dates)
chart.add_yaxis("Cost", costs, symbol_size=10)
# 異なる色/サイズで異常マーカーを追加
重要: ブラウザ互換性
JavaScript用にリストに変換してください:
# 正しい
chart.add_xaxis(df['column'].tolist())
chart.add_yaxis("Label", df['values'].tolist())
# 誤り - レンダリング問題を引き起こす
chart.add_xaxis(df['column'].values) # numpy配列
chart.add_xaxis(df['column']) # pandas Series
テーマオプション
pyechartsで利用可能なテーマ:
macarons(デフォルト) - カラフル、プロフェッショナルshine- 明るい色roma- 落ち着いた、エレガントvintage- レトロな雰囲気dark- ダーク背景light- ライト、ミニマル
使用方法:
from pyecharts.globals import ThemeType
chart = Bar(init_opts=opts.InitOpts(theme=ThemeType.MACARONS))
HTMLレポート構造
def generate_html_report(self, output_path: str, top_n: int = 10) -> str:
# すべてのチャートを作成
charts = [
self.create_cost_by_service_chart(top_n),
self.create_cost_by_account_chart(),
# ... その他のチャート
]
# ページに統合
page = Page(layout=Page.SimplePageLayout)
for chart in charts:
page.add(chart)
# ファイルにレンダリング
page.render(output_path)
return output_path
数値のフォーマット
# ツールチップの通貨フォーマット
tooltip_opts=opts.TooltipOpts(
trigger="axis",
formatter="{b}: ${c:,.2f}"
)
# 軸ラベルのフォーマット
yaxis_opts=opts.AxisOpts(
axislabel_opts=opts.LabelOpts(formatter="${value:,.0f}")
)
よくある問題と解決策
チャートが空の場合
- ブラウザのコンソールでJSエラーを確認する
- すべてのデータで
.tolist()を確認する - ハード リフレッシュを実施(Ctrl+Shift+R)
- HTMLソース内にデータが存在することを確認する
チャートが小さすぎる場合
init_opts=opts.InitOpts(width="100%", height="400px")
ラベルが重なっている場合
xaxis_opts=opts.AxisOpts(
axislabel_opts=opts.LabelOpts(rotate=45, interval=0)
)
凡例が長すぎる場合
legend_opts=opts.LegendOpts(
type_="scroll",
orient="horizontal",
pos_bottom="0%"
)
ビジュアライゼーションのテスト
# チャート作成をテスト
uv run pytest tests/test_visualizer.py -v
# サンプルレポートを再生成
uv run pytest tests/test_examples.py -v -s
# ブラウザで表示
open examples/example_report.html
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- T-Klug
- ライセンス
- MIT
- 最終更新
- 2025/12/4
Source: https://github.com/T-Klug/aws-cur-report-generator / ライセンス: MIT
関連スキル
hugging-face-trackio
Trackioを使用してMLトレーニング実験を追跡・可視化できます。トレーニング中のメトリクスログ記録(Python API)、トレーニング診断のアラート発火、ログされたメトリクスの取得・分析(CLI)が必要な場合に活用してください。リアルタイムダッシュボード表示、Webhookを使用したアラート、HF Space同期、自動化向けのJSON出力に対応しています。
btc-bottom-model
ビットコインのサイクルタイミングモデルで、加重スコアリングシステムを搭載しています。日次パルス(4指標、32ポイント)とウィークリー構造(9指標、68ポイント)の2カテゴリーにわたる13の指標を追跡し、0~100のマーケットヒートスコアを算出します。ETFフロー、ファンディングレート、ロング/ショート比率、恐怖・貪欲指数、LTH-MVRV、NUPL、SOPR(LTH+STH)、LTH供給率、移動平均倍率(365日MA、200週MA)、週次RSI、出来高トレンドに対応します。市場サイクル全体を通じて買いと売りの両方の推奨を提供します。ビットコインの底値拾い、BTCサイクルポジション、買い時・売り時、オンチェーン指標、MVRV、NUPL、SOPR、LTH動向、ETFの流出入、ファンディングレート、恐怖指数、ビットコインが過熱状態か、マイナーコスト、暗号資産市場のセンチメント、BTCのポジションサイジング、「今ビットコインを買うべきか」「BTCが天井をつけているか」「オンチェーン指標は何を示しているか」といった質問の際にこのスキルを活用します。
protein_solubility_optimization
タンパク質の溶解性最適化 - タンパク質の溶解性を最適化します。タンパク質の特性を計算し、溶解性と親水性を予測し、有効な変異を提案します。タンパク質配列の特性計算、タンパク質機能の予測、親水性計算、ゼロショット配列予測を含むタンパク質エンジニアリング業務に使用できます。3つのSCPサーバーから4つのツールを統合しています。
research-lookup
Parallel Chat APIまたはPerplexity sonar-pro-searchを使用して、最新の研究情報を検索できます。学術論文の検索にも対応しています。クエリは自動的に最適なバックエンドにルーティングされるため、論文の検索、研究データの収集、科学情報の検証に活用できます。
tree-formatting
ggtree(R)またはiTOL(ウェブ)を使用して、系統樹の可視化とフォーマットを行います。系統樹を図として描画する際、ツリーレイアウトの選択、分類学に基づく枝やラベルの色付け、クレードの折りたたみ、サポート値の表示、またはツリーへのオーバーレイ追加が必要な場合に使用してください。系統推定(protein-phylogenyスキルを使用)やドメイン注釈(今後の独立したスキル)には使用しないでください。
querying-indonesian-gov-data
インドネシア政府の50以上のAPIとデータソースに接続できます。BPJPH(ハラール認証)、BOM(食品安全)、OJK(金融適正性)、BPS(統計)、BMKG(気象・地震)、インドネシア中央銀行(為替レート)、IDX(株式)、CKAN公開データポータル、pasal.id(第三者法MCP)に対応しています。インドネシア政府データを活用したアプリ開発、.go.idウェブサイトのスクレイピング、ハラール認証の確認、企業の法的適正性の検証、金融機関ステータスの照会、またはインドネシアMCPサーバーへの接続時に使用できます。CSRF処理、CKAN API使用方法、IP制限回避など、すぐに実行可能なPythonパターンを含んでいます。