python 可视化_Python可视化|Matplotlib40LaTeX in Matplotlib和python
"pythonic生物人"的第94篇分享。
本文介绍如何在Matplotlib中使用LaTeX 公式和符号、Python如何生成LaTeX数学公式。
本文速览
本文速览1、Matplotlib中使用LaTeX 公式和符号 一些配置 Matplotlib中使用Latex字符和公式2、latexify生成LaTeX 数学公式3、handcalcs生成LaTeX 数学公式4、Latex symbols对照表
1、Matplotlib中使用LaTeX 公式和符号
一些配置
- 安装两个软件,链接给出。
- https://mirrors.cqu.edu.cn/CTAN/systems/windows/protext/protext-3.2-033020.zip
- https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9531/gs9531w64.exe
- 添加到环境变量中
以下两句放到环境变量中。C:\Users\xx\AppData\Local\Programs\MiKTeX 2.9\miktex\bin\x64;C:\Program Files\gs\gs9.53.1\bin;
- matplotlib.rcParams修改
import numpy as npimport matplotlib as mplimport matplotlib.pyplot as plt
plt.style.use('fivethirtyeight')mpl.rcParams['text.usetex'] = True#默认为false,此处设置为TRUE
Matplotlib中使用Latex字符和公式
mpl.rcParams['lines.linewidth'] = 1
fig, ax = plt.subplots(dpi=120)
N = 500delta = 0.6X = np.linspace(-1, 1, N)ax.plot(X, (1 - np.tanh(4 * X / delta)) / 2, X, (1.4 + np.tanh(4 * X / delta)) / 4, "C2", X, X 0, "k--")
ax.set_xlabel(r'No.1: $\alpha > \beta)#上下标,上标^,下标ax.set_ylabel(r'No.2: $\alpha_i > \beta^i,rotation=45)
# #累加、累积ax.legend((r'No.3: $\displaystyle\sum_{i=0}^\infty x_i, r'No.4: $\displaystyle\prod_{i=0}^\infty x_i), shadow=True, loc=(0.01, 0.52), handlelength=1.5, )
#分数 ax.set_title(r'No.4: $\frac{3}{4})#二项式ax.text(0.3,1.1,r'No.5: $\frac{5 - \frac{1}{x}}{4})
#开根号ax.text(0.8,1.1,r'No.6: $\sqrt[3]{x})#修改字体## Roman、Italic、Typewriter、CALLIGRAPHY等ax.text(-0.8,1.1,r'No.7: $\mathit{Italic})ax.text(-0.8,1.0,r'$\mathsf{fonts})#声调ax.text(-1.2,1.1,r'No.8: $\breve a)
#选个范围ax.text(-1.4,0.8,r'No.9: $\widetilde{xyz})# the arrowax.annotate("", xy=(-delta / 2., 0.1), xytext=(delta / 2., 0.1), arrowprops=dict(arrowstyle="", connectionstyle="arc3"))# 其它TeX symbolsax.set_xticks([-1, 0, 1])ax.set_xticklabels([r"No.10: $\delta$", r"$\pm$", r"$\$"], color="r", size=15)ax.set_yticks([0, 0.5, 1])ax.set_yticklabels([r"No.10: $\AA$", r"$\Downarrow$", "$\\odot$"], color="r", size=15)ax.text(1.02, 0.5, r"$\phi$",fontsize=20, rotation=90, horizontalalignment="left", verticalalignment="center", clip_on=False, transform=ax.transAxes)# 积分、微分公式eq1 = (r"\begin{eqnarray*}" r"\frac{\partial \phi}{\partial t} + U|\nabla \phi| &=& 0 " r"\end{eqnarray*}")ax.text(1, 0.9, eq1,horizontalalignment="right", verticalalignment="top")eq2 = (r"\begin{eqnarray*}" r"\mathcal{F} &=& \int f\left( \phi, c \right) dV, \\ " r"\frac{ \partial \phi } { \partial t } &=& -M_{ \phi } " r"\frac{ \delta \mathcal{F} } { \delta \phi }" r"\end{eqnarray*}")ax.text(0.18, 0.18, eq2)ax.text(-1, .30, r"gamma: $\gamma$", color="r")ax.text(-1, .18, r"Omega: $\Omega$", color="b")plt.show()
2、latexify生成LaTeX 数学公式
import mathimport latexify@latexify.with_latex#调用latexify的装饰器def solve(a, b, c): return (-b + math.sqrt(b**2 - 4*a*c)) / (2*a)
solve
3、handcalcs生成LaTeX 数学公式
- 一个求积分公式,借助scipy的quad
import handcalcs.renderfrom scipy.integrate import quad#借助scipy.quad实现积分
%%rendera = 2b = 6n=100z = quad(f,a,b)
- 一个混合公式,借助math模块,
from math import sqrt,cos,sin,tan,asinimport handcalcs.render
%%render#symbolicf = a-c**2 / b + sqrt(cos(sin(b- 2 / c))) + tan(a/b) - asin(a/c) #Comment part
4、Latex symbols对照表
symbols爬取自网站:https://matplotlib.org/tutorials/text/mathtext.html、制作速查表。
plt.figure(dpi=400)fig = sns.scatterplot(x='sepal length(cm)',y='sepal width(cm)',data=pd_iris, style=geek[:150],#添加不同类变量按照不同marker显示 markers=[r"$"+geek[i]+"$" for i in range(150)],#自定义marker形状 **dict(s=320), color='#01a2d9'
)
fig.legend(ncol=5, fontsize=10, loc=8, bbox_to_anchor=(0.45, 1), facecolor='#eaeaea', )
sns.set(style="whitegrid",font_scale=1)
参考资料
https://matplotlib.org/tutorials/text/usetex.html
https://github.com/connorferster/handcalcs
https://github.com/google/latexify_py
本文结束更多好文,欢迎关注:pythonic生物人
往期精彩:
Python可视化|Matplotlib39-Matplotlib 1.4W+字教程(珍藏版)
Python可视化|Matplotlib&Seaborn36(完结篇)
python 可视化_Python可视化|Matplotlib40LaTeX in Matplotlib和python相关推荐
- python 颜色_Python可视化|matplotlib07自带颜色条Colormap(三)
"pythonic生物人"的第28篇分享. 感觉不错可以点个"赞"或"在看"哦. 摘要 本篇详细介绍matplotlib内置的颜色条Colo ...
- python 交通_Python可视化交通拥堵情况
微信公众号:Python干货铺子 关注即可开启快乐学习Python和Matlab的大门,您还在犹豫什么~ 前言 有感兴趣的客官,您接着往下看,待我给您慢慢分解.(ps.涉及到爬虫.pyecharts. ...
- python版本更新_python入门学习第一天-初识Python
初识Python Python简介 Python的历史 1989年圣诞节:Guido von Rossum开始写Python语言的编译器. 1991年2月:第一个Python编译器(同时也是解释器)诞 ...
- 达内python 资源_Python学习资源整理,优质Python学习资源推荐
Python基本安装: * http://www.python.org/ 官方标准Python开发包和支持环境,同时也是Python的官方网站; * http://www.activestate.co ...
- python勾股定理_Python学习第128课——在Python中实现醉汉随机游走
[每天几分钟,从零入门python编程的世界!] 这节我们在2D平面内实现随机游走.我们先把原理搞清楚,用代码实现这个原理. 原理分析: 我们想像在2D平面内有一个x轴和y轴组成的坐标系,有一个人他是 ...
- python如何运行一个python程序_python如何运行?第一个python小程序示范
我们想要用python编程首先要做的就是安装一些工具,随后学会应用.那么问题来了,我们需要安装什么?python又是怎样运行的呢? 安装什么工具? 1.Python 3.6.5(我安装的,还有很多版本 ...
- r语言 python 股票_python r语言 股票!如何用python写出爬虫?
python计时器问题? import time print('按下回车开始,按下 Ctrl C 暂停/停止计时.') while True: input("") starttim ...
- python平台_python平台(几个不错的python接单平台)
python平台 py渠道(我国俗称大蟒蛇渠道)一种面向对象的解释性的计算机程序设计言语,也是一种功能强壮而完善的通用型言语,已经具有十多年的发展前史,成熟且稳定. Python由GuidovanRo ...
- python 可视化_python可视化基础
常用的python可视化工具包是matplotlib,seaborn是在matplotlib基础上做的进一步封装.入坑python可视化,对有些人来说如同望山跑死马,心气上早输了一节.其实学习一门新知 ...
最新文章
- o型圈沟槽设计软件_O型圈的设计注意事项
- Android 解决 No static method in class La/a/a/a; or its super classes
- Android Telephony分析(三) ---- RILJ详解
- 给Java初学者的十条小建议,快来收藏吧
- api 获取网络使用情况_您的API是什么情况?
- 60、二叉搜索树的第k个结点
- 对抗神经机器翻译:GAN+NMT 模型,中国研究者显著提升机翻质量
- java teechart怎么用_TeeChart for Java
- laravel5.5通过yansongda/pay组件实现支付宝电脑网站支付
- C++期末课程设计——宾馆客房管理系统(详细报告+源代码+详细注释)(另附加“25+”C++C语言期末课程设计系统下载地址)
- java微信主动推送消息_利用java开发微信实现微信主动推送消息实例
- 《HarmonyOS开发 - 小凌派-RK2206开发笔记》第3章 应用开发
- tumblr_如何制作私人Tumblr博客
- 基于区域和基于边缘的图像分割
- CSS3中颜色渐变色彩
- 为CIFAR图片分类模型添加BN
- 仙剑奇侠传7御灵有什么用?御灵的作用与培养策略
- 信创操作系统--统信UOS桌面版(登录与激活统信:直接登录、远程登录、锁屏、电源管理、激活)
- puppy linux 版本,Puppy Linux 8.0 发布,轻量级发行版
- VueJS 基础之组件
热门文章
- PyTorch nn.Module 一些疑问
- 1.1 回归问题-机器学习笔记-斯坦福吴恩达教授
- Android4.1 触摸屏(TP)划线曲折、不圆润的解决办法
- 【工具】PlatformIO终于能用了,arduino大型项目开发环境PIO,编辑器+编译器+调试全功能...
- 16位cpu 移位处理
- 连接器篇(一) 低频系列
- NetCDF Overview
- Cuckoo Hashing的应用及性能优化
- Spring框架bean的注解管理方法之一 使用注解生成对象
- 《ASP.NET MVC企业实战》(二) MVC开发前奏