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之深入变量和引用对象
Sep 24 Python
Python实现购物车购物小程序
Apr 18 Python
Python实现ping指定IP的示例
Jun 04 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
Dec 26 Python
python判断文件是否存在,不存在就创建一个的实例
Feb 18 Python
PyQt5使用QTimer实现电子时钟
Jul 29 Python
python区分不同数据类型的方法
Oct 14 Python
浅析PEP570新语法: 只接受位置参数
Oct 15 Python
Python tkinter界面实现历史天气查询的示例代码
Aug 23 Python
Python+MySQL随机试卷及答案生成程序的示例代码
Feb 01 Python
python 制作网站小说下载器
Feb 20 Python
Python列表的索引与切片
Apr 07 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使用redis实现统计缓存mysql压力的方法
2015/11/14 PHP
PHP下载文件的函数实例代码
2016/05/18 PHP
php中yii框架实例用法
2020/12/22 PHP
Javascript miscellanea -display data real time, using window.status
2007/01/09 Javascript
jquery 1.4.2发布!主要是性能与API
2010/02/25 Javascript
Jquery操作radio的简单实例
2014/01/06 Javascript
jquery操作下拉列表、文本框、复选框、单选框集合(收藏)
2014/01/08 Javascript
Javascript 拖拽的一些简单的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
JQuery插件Marquee.js实现无缝滚动效果
2016/04/26 Javascript
原生js获取元素样式的简单方法
2016/08/06 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
2016/10/28 Javascript
js实现把图片的绝对路径转为base64字符串、blob对象再上传
2016/12/29 Javascript
浅谈vuex之mutation和action的基本使用
2017/08/29 Javascript
基于jQuery选择器之表单对象属性筛选选择器的实例
2017/09/19 jQuery
jquery.picsign图片标注组件实例详解
2018/02/02 jQuery
Vue中 v-if/v-show/插值表达式导致闪现的原因及解决办法
2018/10/12 Javascript
vue router总结 $router和$route及router与 router与route区别
2019/07/05 Javascript
原生js实现二级联动菜单
2019/11/27 Javascript
[01:46]DOTA2上海特锦赛小组赛英文解说KotlGuy采访
2016/02/27 DOTA
从零学Python之入门(三)序列
2014/05/25 Python
利用python求解物理学中的双弹簧质能系统详解
2017/09/29 Python
python使用os.listdir和os.walk获得文件的路径的方法
2017/12/16 Python
Python干货:分享Python绘制六种可视化图表
2018/08/27 Python
Tensorflow模型实现预测或识别单张图片
2019/07/19 Python
tensorflow-gpu安装的常见问题及解决方案
2020/01/20 Python
Keras 快速解决OOM超内存的问题
2020/06/11 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
Python读写Excel表格的方法
2021/03/02 Python
Currentbody法国:健康与美容高科技产品
2020/08/16 全球购物
银行介绍信范文
2014/01/10 职场文书
实习单位鉴定评语
2014/04/26 职场文书
班主任个人工作反思
2014/04/28 职场文书
工厂清洁工岗位职责
2015/02/14 职场文书
客户付款通知书
2015/04/23 职场文书
党支部创先争优公开承诺书
2015/04/30 职场文书
OpenCV 图像梯度的实现方法
2021/07/25 Python