Scientific matplotlib plot rcParams configuration template python package.
Project description
spt
Scientific matplotlib plot rcParams configuration template python package.
- Repo: https://github.com/Bit-Part-Young/spt
- Full documentation: README.md
Installation
- via pip:
pip install spt
# update
pip install -U spt
# install spt and examples dependencies
pip install ".[examples]"
- via git:
pip install git+https://gitee.com/yangsl306/spt.git
# or
pip install git+https://github.com/Bit-Part-Young/spt.git
- via source code:
git clone https://gitee.com/yangsl306/spt.git
# or
git clone https://github.com/Bit-Part-Young/spt.git
cd spt
# create virtual environment
python -m venv venv
# activate virtual environment
source venv/bin/activate
pip install .
# or
pip install -r requirements.txt
# editable mode
pip install -e .
Usage
Full example codes can be found in examples folder.
set_plot_params()
script: plot.py
- plot:
import matplotlib.pyplot as plt
from spt.plot_params import set_plot_params
...
set_plot_params()
fig, ax = plt.subplots()
...
- Figure:
set_roman_plot_params()
script: plot_roman.py
- requirements:
To use Times New Roman font, you need to do:
# copy roman-ttf fonts to your matplotlib font path in specific conda env
cp roman-ttf/* <conda_env>/lib/pythonXXX/site-packages/matplotlib/mpl-data/fonts/ttf/
# remove matplotlib cache
rm -rf ~/.cache/matplotlib
- plot:
import matplotlib.pyplot as plt
from spt.plot_params import set_roman_plot_params
...
set_roman_plot_params()
fig, ax = plt.subplots()
...
- Figure:
- 3d plot:
script: plot_3d.py
import matplotlib.pyplot as plt
from spt.plot_params import set_roman_plot_params
...
set_roman_plot_params(
axes_labelpad=15,
legend_handletextpad=0.0,
legend_fontsize=22,
savefig_bbox="standard",
)
fig, ax = plt.subplots(subplot_kw={"projection": "3d"}, figsize=(10, 8))
...
- Figure:
Chinese characters plot
script: plot_zh.py
- requirements:
To use Chinese(SimHei 黑体) font, you need to do:
# copy SimHei-ttf fonts to matplotlib font path in specific conda env
cp chinese-config/chinese-ttf/* <conda_env>/lib/pythonXXX/site-packages/matplotlib/mpl-data/fonts/ttf/
# backup matplotlibrc file
cd <conda_env>/lib/pythonXXX/site-packages/matplotlib/mpl-data/
cp matplotlibrc matplotlibrc_origin
cd -
# copy modified matplotlibrc file
cp chinese-config/matplotlibrc <conda_env>/lib/pythonXXX/site-packages/matplotlib/mpl-data/
# remove matplotlib cache
rm -rf ~/.cache/matplotlib
matplotlibrc
modification:
# origin
font.family: sans-serif
font.sans-serif: DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
axes.unicode_minus: True # use Unicode for the minus symbol rather than hyphen. See
# modification
font.family: sans-serif
font.sans-serif: DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif, SimHei, Times New Roman, Times
axes.unicode_minus: False # use Unicode for the minus symbol rather than hyphen. See
- plot:
import matplotlib.pyplot as plt
from spt.plot_params import set_roman_plot_params
...
set_roman_plot_params()
fig, ax = plt.subplots()
ax.plot(x, y, label="正弦函数")
ax.set(xlabel="x", ylabel="y")
# legend 字体设置为 SimHei
ax.legend(prop={"family": "SimHei"})
...
- Figure
Scientific Figure Examples
- Example 1:
script: phase_stability_Nb3Si_plot.py
Figure:
- Example 2:
script: b_fit_cal.py
Figure:
To do
- 完善
setup.py
安装脚本 - 3D 图绘制 z 轴标签显示不全(
"savefig.bbox"
参数设为"tight"
时,会出现这种情况,需设为"standard"
,多余空白需自己后处理掉;jupyter notebook 中 z 轴标签仍显示不全) - 安装 spt package 后,使用
fig, ax = plt.subplots()
命令,VSCode 的 Pylance 插件无法自动识别ax
对象的属性和方法(matplotlib 3.8 版本的问题,需将 matplotlib 版本降到 3.8 以下)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
spt-0.2.3.tar.gz
(5.9 kB
view hashes)
Built Distribution
spt-0.2.3-py3-none-any.whl
(5.3 kB
view hashes)