{ "cells": [ { "cell_type": "code", "execution_count": 2, "id": "b6508c70", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "from plotnine import *\n", "\n", "df = pd.DataFrame([\n", " { 'lang': 'jp', 'word': 'たこ焼き', 'number': 300 },\n", " { 'lang': 'cn', 'word': '火鍋', 'number': 400 },\n", " { 'lang': 'ko', 'word': '김치', 'number': 200 },\n", "])" ] }, { "cell_type": "markdown", "id": "afd38efa", "metadata": {}, "source": [ "# Displaying East Asian text (Chinese, Japanese, Korean) in plotnine\n", "\n", "When you try to display Chinese, Japanese, or Korean text on a plotnine graphic, you might get an error like this:\n", "\n", "```\n", "/Users/username/.pyenv/versions/3.9.7/lib/python3.9/site-packages/matplotlib/backends/backend_agg.py:240: RuntimeWarning: Glyph 12383 missing from current font.\n", "/Users/username/.pyenv/versions/3.9.7/lib/python3.9/site-packages/matplotlib/backends/backend_agg.py:240: RuntimeWarning: Glyph 12371 missing from current font.\n", "/Users/username/.pyenv/versions/3.9.7/lib/python3.9/site-packages/matplotlib/backends/backend_agg.py:240: RuntimeWarning: Glyph 28988 missing from current font.\n", "```\n", "\n", "This is because many fonts do not support these characters. To display them, you'll need to find a font that works for them.\n", "\n", "## Using Arial Unicode MS\n", "\n", "If we have a dataset of all three languages, `Arial Unicode MS` is a good option that supports characters around the world. We'll use `theme(text=element_text(family='Arial Unicode MS'))` to set all of the text in the graphic to be this font." ] }, { "cell_type": "code", "execution_count": 14, "id": "5a4220df", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
langwordnumber
0jpたこ焼き300
1cn火鍋400
2ko김치200
\n", "
" ], "text/plain": [ " lang word number\n", "0 jp たこ焼き 300\n", "1 cn 火鍋 400\n", "2 ko 김치 200" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "code", "execution_count": 15, "id": "3a51769e", "metadata": {}, "outputs": [ { "data": { "image/png": "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oBUrVqiiokL79u2z4ApgopKSEj3yyCPKzs5Wt27dmhzfs2ePHnrooRN+7WWXXaa77767pUfECRAzbdycOXPk9XpVVVWlhoYGeTwede3aVZ06dZLD4WjyeLfb3Wi7Z8+e6t+/f5PH7d27Vx988IEk6b333lNmZqamTZumxYsXKysrS9u2bVN1dbXOO++8wNdERERo3759Ouecc/Tzn/9cb7/9tpxOp6Kjo7V48WKdc845Gj9+fIi/A2itNm7cqMsuu0wOh0N+vz/wFGdxcbH69esnu90un8+nxx57TFVVVZo1a5aSkpLUtWtXSdKxY8e0fv163XLLLcQMvtHRo0f16quvasOGDcrOzlZqauoJH3fhhRcGnjp/4403tGHDBs2ePTuco+IEiJk27re//a22bdum/Px8LViwQMXFxYHniGNiYjR69GhdffXV3/q8n3zyibp06SKXy6WJEyfqtttuU1VVle666y5JCsRTRUVF4Lnm7du3Kzk5WQcPHtS7776rzz77THV1dSotLdXVV1+tfv36hey60bqVlZXpxRdfDPwXcGlpqQ4fPqzy8nL94Q9/UG5uriTJ4XDokUcekcPh0E033aQnnnhCtbW1amho0JEjRxQREaGzzjpLPp9PtbW1ioyMtPCq0BrV1NRozpw58ng8Sk9P17x589S+fftmfe327du1d+9eVVVVNftr0DJ4NxP01FNPyeVyafTo0aqpqVFERITq6+tVWlqqDh06KC4uLvDYd999V3379lW7du1Oec7i4mJdcskluv322/XSSy9Javxi4BUrVqi6ulpZWVmBr3n22WdVUVGh7t27q3v37jrnnHP0zjvvaP369Zo7d66cTmcLXD1ao4aGBn3++efq0qWLJGnSpEk6dOiQnnnmGZWWlgbuvkhf3cHZtGmT3nnnHaWlpSkyMlL79+9v9Fqbjz/+WNdcc42uu+66sF8LWr+SkhIlJSWd8o0N7777ri666CJFRUVJkg4cOKDJkyerd+/eOvfcc3XbbbcFHsu7mcKPOzNtXG1trTZs2KAHH3xQ0levype++i/e4/9HctyHH36oOXPmaNasWbrgggtOed709HRJX70wbuPGjVqyZImqqqo0duxYSf+9M/Pee+8FXgQ8duxYbd++XS+//LIKCgpUV1cXON9f/vIX/fSnPw3NRaPVs9lsgfW3e/du1dfXa8CAAXr99dd14403Nnqsy+XS4MGDtW3bNvXp00f79+9XSkqK1q1bJ4fDodraWv3gBz+w4jJgiOOvyZs6dao+++yzE76gt7q6Wvn5+YqKitKxY8f06KOPKjMzU9dff71ycnLUq1cvXXXVVWGeHMcRM23c+vXrlZCQoPPOO08PP/yw0tPTAyHyv1577TUNHz78G0PmuMOHD6uyslKVlZV69tlntWzZMklSp06d9NFHH+n2229v9Piamho99NBDmjBhgh544AFFRUWpqqpKXq+3SVihbaiurtYzzzyjUaNGqXfv3po6daouu+wy9ejRI/CY5ORkLVy4UJL01ltvBd5VV1tbq5deeumU70gB/tdjjz12wjccTJo0SZJUUVER+Pn005/+VE6nU5MnTw68W46gsQYx04ZVVlZq2bJlys7OVlVVlbZu3aqbbrop8FTTsWPHVF1drYSEBElSu3bt9Nlnn2nPnj2Kj4+X0+lUTU2NKioqdOjQIcXExDR6e/auXbt01VVXaevWrYqOjtbWrVt18803q6KiIvCY999/X9/97ncVFRUlm80ml8ulL7/8UtXV1WrXrp3sdrv8fr+2bNmigQMHhv17BOuUlJTo0Ucf1aWXXhr4u7/jjjuUm5urO++8UykpKZK+ipkuXbro3//+t3r37q26ujo5HA5FRkZq7NixPD2Jb2Xq1KknfLqpsrJSkhQbG6thw4YpPT09sLa+973v6YEHHjjhxwggPIiZNqy8vFypqakaNGiQJCk1NVXTpk0L/KOVpG7duumJJ56QJGVnZ2vx4sWaN2+eysvL5fP55HQ6FRUVpY4dO2rAgAGNYuaVV17R2LFj5Xa79eKLL0qSLr30Uq1fvz7wmGXLlulXv/qVoqKiFBkZqYceekjLly/XpEmTdPToUTkcDsXHx+uCCy5Q//79A0+D4cz28ssva/Xq1Ro1apSGDRsW2J+amqrY2FgtXLhQf/nLX3T//fdr69atqq+vV1VVlYqKitSlSxddcsklWrJkiaSvntJ88cUXA1EOnMrcuXNPeGdm8uTJgci59tprmxznDQrW4gXAaKK+vl719fVyOBxB/1ft6tWrtWfPHt15552677771K5dO917772KjY3VJ598ogcffFAxMTGKiYnRr3/965PO4XA4mv1pwzhzbN68Wb169dLZZ599wuP19fXauXOnLr30Uq1evVrHjh3TxRdfrPPOO0+vvfaaKisrAy8uf+GFF7RmzRrNmjWr0UcBADhzEDNoEV6vVy6XSx07dtSXX37ZrN9nAoRCZWWl/H5/4BOAAZz5iBkAAGA0fqEEAAAwGjEDAACMRswAAACjETMAAMBoxAwAADAaMQPgjJObm6vu3btbPQaAMCFmAACA0YgZAABgNGIGQIu64oordNtttwW2165dK5vNpqVLlwb23X///UpNTVVFRYUmTpyobt26KSoqSgMHDtRbb70VeNwtt9yiH/3oRxoyZIjat2+v3/zmN5Kkp59+Wj169FC7du00ZMgQHThwIHwXCMByxAyAFjV8+HCtW7cusH38f//tb38L7Fu9erWGDx+uwYMHq7i4WAUFBdq+fbsuueQSXXPNNdqyZUvgsa+88oqGDRumnTt3atSoUVq5cqUmTpyoe++9V3v27NGIESP0/PPPh+36AFiPX2cAoEXt2bNHffr00ccff6zzzz9fl1xyiRITE/XJJ59o7969OnDggM4991z99re/VU5Ojnbt2qU+ffpIkhoaGtS/f391795df/rTn3TLLbdo3bp1+vzzzwPnHzhwoLp166aXXnopsG/kyJHaunWr9u3bF+7LBWAB7swAaFEXXnihevbsqbVr1+rgwYPauXOnHnzwQe3bt0+ffvqpXn/9dfXq1UuVlZWKjY0NhIwk2Ww2paena9euXYF9//supT179mjAgAGN9g0cOLBFrwlA6xJh9QAAznyZmZlat26d4uLi1LdvX6Wmpqp79+5688039frrr2vEiBE62U1in8+niIj//qhyOp2NjttstkbHJSkyMjL0FwGg1eLODIAWN3z4cL355ptau3athgwZIknKyMhQYWGhioqKdMMNN6hPnz6qqKhodBdGkoqLi3XRRRed9Nz9+vXTxo0bG+177733Qn8RAFot7swAaHGDBg2S3W7XsmXL9Oc//1nSVzGTlZUlt9ut1NRU+f1+XXzxxbrpppu0aNEiderUSU8++aR2796tp5566qTnnjFjhjIyMpSamqrMzEytXbtWBQUFSkxMDNflAbAYd2YAtLiIiAhde+218vl8GjRokCRpyJAhamho0PDhw2W32xUREaH169crPT1dWVlZ+t73vqddu3apuLhYqampJz33VVddpd///vdauHChevXqpZdeekl33313uC4NQCvAu5kAAIDRuDMDAACMRswAAACjETMAAMBoxAwAADAaMQMAAIxGzAAAAKMRMwAAwGjEDAAAMBoxAwAAjEbMAAAAoxEzAADAaMQMAAAw2v8DjzBVek09BIYAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(\n", " ggplot(df)\n", " + aes(x='word', y='number')\n", " + geom_bar(stat='identity')\n", " + theme(text=element_text(family='Arial Unicode MS'))\n", ")" ] }, { "cell_type": "markdown", "id": "e81aca95", "metadata": {}, "source": [ "## Using ONLY Chinese or Japanese character sets (SimHei, Heiti)\n", "\n", "Usually you only have one language in your dataset. Instead of using a font that has every single language in it, you might pick something more specific. For Chinese, there are specific fonts on both OS X and Windows that are built-in and work well.\n", "\n", "* **Windows:** SimHei\n", "* **OS X:** Heiti TC\n", "\n", "They won't display Korean correctly, but they'll be fine for Chinese and Japanese." ] }, { "cell_type": "code", "execution_count": 18, "id": "e54281b5", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/soma/.pyenv/versions/3.9.7/lib/python3.9/site-packages/matplotlib/backends/backend_agg.py:240: RuntimeWarning: Glyph 44608 missing from current font.\n", "/Users/soma/.pyenv/versions/3.9.7/lib/python3.9/site-packages/matplotlib/backends/backend_agg.py:240: RuntimeWarning: Glyph 52824 missing from current font.\n", "/Users/soma/.pyenv/versions/3.9.7/lib/python3.9/site-packages/matplotlib/backends/backend_agg.py:203: RuntimeWarning: Glyph 44608 missing from current font.\n", "/Users/soma/.pyenv/versions/3.9.7/lib/python3.9/site-packages/matplotlib/backends/backend_agg.py:203: RuntimeWarning: Glyph 52824 missing from current font.\n" ] }, { "data": { "image/png": "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P/5RQ4cOVXx8vKRvg2n//v1KTk5WXFycXC6X3G73RV8qjiuP2+3W/Pnz9dVXX+mxxx7TzTff7L8sOTlZTz/9tHJzc/XEE0/o6aefVmxsrB588EGtW7dOUVFReueddyRJTqdTr7zyirxer7xer1WHg1Zs69atl3T93/zmN80zCC4LHzTZhnm9XtXW1srpdPr3vfvuu3rxxRf1+eef69y5c4qMjNTjjz+uG264ocFt6+rqdPr0af97v1x11VX+NyfzeDyaPXu2Hn30UXXt2lUFBQXaunWrZs2apZ/85Cfyer2aNm2aYmNjZbPZtGjRIv8TjCsrK5Wfn693333X/yZUiYmJysnJ4T1m2phPP/1UCQkJF327gOPHj6tz584qLCzUmTNn/C/NvuqqqzR9+nS98MILkr59R9f58+erR48eeuSRR1rqEAC0EGIGzeK7b3DncrnkcDia/B42QHOora1lDQJXKGIGAAAYjWfEAQAAoxEzAADAaMQMAAAwGjEDAACMRswAAACjETMArlhDhw7Vk08+afUYAJoZMQMAAIxGzAAAAKMRMwCCLi0trdHHBpw8eVL33ntvg33ffPONunbtqry8PNXV1WnhwoXq2bOnwsPD1aVLFz388MOqrKz0X99ms2n27Nm65pprNGzYMP/+jz76SBMmTFBcXJzatWunQYMGaffu3c17kABaDWIGQNDNmjVL69atU21trX/fs88+qy1btqikpMS/709/+pNqa2s1adIk3X777crLy9Njjz2mffv2KTs7W6+99poGDBig06dP+2/zwgsv6IUXXvB/2OnBgwfVp08fVVdXa+PGjXrjjTd09913a+LEiXr//fdb7JgBWIePMwAQdF6vV7169dLcuXP1wAMPyO12q0uXLmrXrp3GjRun5cuXS5L+6Z/+SUOGDFFiYqKysrL0t7/9TUlJSf77OXPmjHr37q27775bS5culc1m0yOPPKKlS5f6r9OnTx//B5p+19tvv62BAwdq3rx5Wrx4ccscOABLcGYGQNCFhITooYce0sqVKyVJ+fn5io2NVX5+vtatW6fKykq99957evvttzVjxgwVFhZq3LhxDUJGkqKjozVt2jS99tpr/n19+vTxf/3111/rnXfe0axZsxrN0LdvX/Xu3bt5DhBAq0LMAGgW6enp+uyzz7Rnzx79x3/8hx5++GENGTJE119/vV544QWtWLFC9957r+Lj4+Xz+fyfsv6PwsLC5PV6/dsxMTGNrnOhE8whIfyKA9oC/qQDaBaRkZGaNm2a0tPTdfLkSd1///2SpNmzZysnJ0cvvvii/u3f/k2SdNttt2nbtm06efJkg/uora3V+vXrNXLkSP8+u93u/7pDhw768Y9/7H/Y6rveeustHTp0qBmODEBrQ8wAaDYPPfSQjh49qoyMDLVr106SNGHCBHm9XvXv31+pqamSpF/+8pdKTk7WgAEDlJ+fr0OHDumll17SwIED5fP5NH/+/At+j9zcXO3atUt33HGHdu7cqbffflvZ2dkaO3bsec/iALjyEDMAmk337t119913a8aMGf59YWFhmjFjhv+sjCSFh4ersLBQ9913nxYsWKCf/vSnmjVrlgYOHKj9+/erQ4cOF/weffr00YEDB+RwOHTvvfdq2LBhKiws1Pbt25WSktKsxwegdeDVTAAAwGicmQEAAEYjZgAAgNGIGQAAYDRiBgAAGI2YAQAARiNmAACA0YgZAABgNGIGAAAYjZgBAABGI2YAAIDRiBkAAGC0/wc1d+CE6IfMLgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# I'm on a mac, so I sue Heiti TC\n", "\n", "(\n", " ggplot(df)\n", " + aes(x='word', y='number')\n", " + geom_bar(stat='identity')\n", " + theme(text=element_text(family='Heiti TC'))\n", ")" ] }, { "cell_type": "markdown", "id": "e916a316", "metadata": {}, "source": [ "## Other fonts and character sets\n", "\n", "To figure out all of your other options, it's usually best to [display a list of supported fonts](../text/print-list/)." ] }, { "cell_type": "code", "execution_count": null, "id": "a1edbfbd", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.7" } }, "nbformat": 4, "nbformat_minor": 5 }