Python+Matplotlib+LaTeX玩转数学公式


Posted in Python onFebruary 24, 2022

1、Matplotlib中使用LaTeX 公式和符号

一些配置

安装两个软件,链接给出,提取码:1234

protext-3.2-033020.zip

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 np
import matplotlib as mpl
import 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 = 500
delta = 0.6
X = 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 arrow
ax.annotate("", xy=(-delta / 2., 0.1), xytext=(delta / 2., 0.1),
            arrowprops=dict(arrowstyle="<->", connectionstyle="arc3"))


#  其它TeX symbols
ax.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()

Python+Matplotlib+LaTeX玩转数学公式

2、latexify生成LaTeX 数学公式

import math
import latexify
@latexify.with_latex#调用latexify的装饰器
def solve(a, b, c):
  return (-b + math.sqrt(b**2 - 4*a*c)) / (2*a)

solve

Python+Matplotlib+LaTeX玩转数学公式

Python+Matplotlib+LaTeX玩转数学公式

Python+Matplotlib+LaTeX玩转数学公式

3、handcalcs生成LaTeX 数学公式

一个求积分公式,借助scipy的quad

import handcalcs.render
from scipy.integrate import quad#借助scipy.quad实现积分
%%render
a = 2
b = 6
n=100
z = quad(f,a,b)

Python+Matplotlib+LaTeX玩转数学公式

一个混合公式,借助math模块,

from math import sqrt,cos,sin,tan,asin
import handcalcs.render
%%render
#symbolic
f = a-c**2 / b + sqrt(cos(sin(b- 2 / c))) + tan(a/b) - asin(a/c) #Comment part

Python+Matplotlib+LaTeX玩转数学公式

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)

Python+Matplotlib+LaTeX玩转数学公式

Python+Matplotlib+LaTeX玩转数学公式

Python+Matplotlib+LaTeX玩转数学公式

以上就是Python+Matplotlib+LaTeX玩转数学公式的详细内容,更多关于Python Matplotlib数学公式的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python 的 with 语句详解
Jun 13 Python
一文总结学习Python的14张思维导图
Oct 17 Python
Pipenv一键搭建python虚拟环境的方法
May 22 Python
Python实现查找字符串数组最长公共前缀示例
Mar 27 Python
Python Django 页面上展示固定的页码数实现代码
Aug 21 Python
详解用Python为直方图绘制拟合曲线的两种方法
Aug 21 Python
详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决
Aug 27 Python
python利用datetime模块计算程序运行时间问题
Feb 20 Python
Django项目uwsgi+Nginx保姆级部署教程实现
Apr 19 Python
浅谈Python3多线程之间的执行顺序问题
May 02 Python
python能做哪些生活有趣的事情
Sep 09 Python
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
Apr 13 Python
Python语言内置数据类型
Feb 24 #Python
Python中的程序流程控制语句
Feb 24 #Python
python中对列表的删除和添加方法详解
Feb 24 #Python
通过Python把学姐照片做成拼图游戏
Python帮你解决手机qq微信内存占用太多问题
Feb 15 #Python
python flappy bird小游戏分步实现流程
Python 居然可以在 Excel 中画画你知道吗
Feb 15 #Python
You might like
关于php mvc开发模式的感想
2011/06/28 PHP
PHP数据集构建JSON格式及新数组的方法
2012/11/07 PHP
PHP static局部静态变量和全局静态变量总结
2014/03/02 PHP
php中数字、字符与对象判断函数用法实例
2014/11/26 PHP
php中对象引用和复制实例分析
2019/08/14 PHP
laravel 创建命令行命令的图文教程
2019/10/23 PHP
js获取当前select 元素值的代码
2010/04/19 Javascript
javascript 模式设计之工厂模式学习心得
2010/04/27 Javascript
写自已的js类库需要的核心代码
2012/07/16 Javascript
js 操作select与option(示例讲解)
2013/12/20 Javascript
JS下载文件|无刷新下载文件示例代码
2014/04/17 Javascript
js点击事件链接的问题解决
2014/04/25 Javascript
javascript中关于&amp;&amp; 和 || 表达式的小技巧分享
2015/04/10 Javascript
js实现简洁的TAB滑动门效果代码
2015/09/06 Javascript
微信小程序 animation API详解及实例代码
2016/10/08 Javascript
angular2系列之路由转场动画的示例代码
2017/11/09 Javascript
JavaScript同源策略和跨域访问实例详解
2018/04/03 Javascript
JavaScript学习笔记之基于定时器实现图片无缝滚动功能详解
2019/01/09 Javascript
vant IndexBar实现的城市列表的示例代码
2019/11/20 Javascript
Python保存MongoDB上的文件到本地的方法
2016/03/16 Python
详解tensorflow载入数据的三种方式
2018/04/24 Python
python 返回列表中某个值的索引方法
2018/11/07 Python
python正则表达式去除两个特殊字符间的内容方法
2018/12/24 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
2019/06/26 Python
python3中类的继承以及self和super的区别详解
2019/06/26 Python
django 通过url实现简单的权限控制的例子
2019/08/16 Python
python自动保存百度盘资源到百度盘中的实例代码
2019/08/26 Python
Python线程指南分享
2019/11/19 Python
红色连衣裙精品店:Red Dress Boutique
2018/08/11 全球购物
房产公证书样本
2015/01/23 职场文书
红高粱观后感
2015/06/10 职场文书
婚庆主持词大全
2015/06/30 职场文书
信息技术教研组工作总结
2015/08/13 职场文书
股东合作协议书模板2篇
2019/11/05 职场文书
【js设计模式】SOLID五大设计原则
2022/03/24 Javascript
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python