Metadata-Version: 2.4
Name: matplotlib-tategaki
Version: 1.0.0
Summary: Stacked labels and Japanese OpenType vertical text for Matplotlib
License-Expression: MIT AND Unicode-3.0
Project-URL: Repository, https://github.com/magichan-lab/matplotlib-tategaki
Project-URL: Issues, https://github.com/magichan-lab/matplotlib-tategaki/issues
Keywords: matplotlib,Japanese,vertical text,tategaki
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Multimedia :: Graphics
Classifier: Topic :: Text Processing :: Fonts
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: src/tategaki/UNICODE-LICENSE.txt
Requires-Dist: fonttools>=4.68
Requires-Dist: matplotlib>=3.10.0
Requires-Dist: regex>=2025.11.3
Requires-Dist: uharfbuzz<1,>=0.55
Dynamic: license-file

# matplotlib-tategaki

Matplotlib のグラフに日本語の縦書きラベルを表示するライブラリです。

## インストール

```sh
python -m pip install matplotlib-tategaki
```

## Getting Started

`tategaki.enable()` を呼び、`ax.set_xticks()` でラベルと `writing_mode="vertical-rl"` を指定すると、目盛りラベルを縦書きにできます。

Matplotlib に日本語フォントが設定されている環境で、次のコードを実行します。`font.family` は利用できる日本語フォント名に変更してください。

```python
import matplotlib.pyplot as plt
import tategaki

plt.rcParams["font.family"] = "IPAexGothic"
tategaki.enable()

fig, ax = plt.subplots(figsize=(6, 4))
ax.bar([0, 1, 2], [12, 20, 15], color="#548ca8")
ax.set_xticks(
    [0, 1, 2],
    ["東京", "コーヒー", "大阪ABC"],
    writing_mode="vertical-rl",
    orientation="mixed",
    fontsize=16,
)
ax.set_title("商品別の売上")
ax.set_ylabel("売上")
fig.subplots_adjust(bottom=0.35)
plt.show()
```

出力例：

![縦書きの目盛りラベルを表示した棒グラフ](https://raw.githubusercontent.com/magichan-lab/matplotlib-tategaki/main/images/quickstart.png)

## 動作環境

- Python 3.11 以上
- Matplotlib 3.10.0 以上
- 日本語フォントが設定された環境

## FAQ

**日本語が表示されない場合は？** まず Matplotlib の日本語フォント設定を確認してください。日本語フォントが設定されていない環境では、`matplotlib-fontja` の使用を推奨します。

**縦書きにならない場合は？** `tategaki.enable()` を呼び、`ax.set_xticks()` に `writing_mode="vertical-rl"` とラベルを指定してください。

**X 軸の目盛り以外では縦書きを使えませんか？** 使えます。`tategaki.enable()` の後、`ax.text()`、`ax.set_xlabel()`、`ax.set_ylabel()` にも `writing_mode="vertical-rl"` を指定できます。X 軸の目盛りラベルは `ax.set_xticklabels()` でも縦書きにできます。

**括弧や句読点（`（）「」、。`）も縦書きに対応していますか？** はい。縦書き用の字形を持つ日本語フォントを使用すると、縦書きに適した形で表示されます。フォントに縦書き用の字形がない場合は警告が出ます。

**`orientation="mixed"` は何のために指定するのですか？** 日本語と英数字が混在するラベルで、英数字を横組みのまま時計回りに 90 度回転して表示するためです。省略時の `"upright"` では文字を一字ずつ縦に並べます。

## License

ソースコードは MIT ライセンスで公開しています。詳細は [LICENSE](LICENSE) を参照してください。
同梱の Unicode データには [Unicode License v3](src/tategaki/UNICODE-LICENSE.txt) が適用されます。

## Author

Copyright (c) 2026 [magichan](https://github.com/magichan-lab)
