Python+Matplotlib+LaTeX玩转数学公式

目录
  • 1、Matplotlib中使用LaTeX公式和符号
    • 一些配置
    • Matplotlib中使用Latex字符和公式
  • 2、latexify生成LaTeX数学公式
  • 3、handcalcs生成LaTeX数学公式
  • 4、Latexsymbols对照表

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()

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

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)

一个混合公式,借助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

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数学公式的资料请关注我们其它相关文章!

(0)

相关推荐

  • 在Matplotlib图中插入LaTex公式实例

    Matplotlib可以无缝的处理LaTex字体,在图中加入数学公式 from matplotlib.patches import Polygon import matplotlib.pyplot as plt import numpy as np # 定义一个求积分的函数 def func(x): return 0.3* (x**2) + (0.1*x) + 1 # 定义积分区间 a, b = 1,2 x = np.linspace(0,3) y = func(x) # 绘制曲线 fig, a

  • Python3使用Matplotlib 绘制精美的数学函数图形

    一个最最简单的例子: 绘制一个从 0 到 360 度完整的 SIN 函数图形 import numpy as np import matplotlib.pyplot as pt x = np.arange(0, 360) # 如果打印 x ,NumPy 会给你很好看的打印格式 # print(x) y = np.sin(x * np.pi / 180) pt.plot(x, y) pt.xlim(0, 360) pt.ylim(-1.2, 1.2) pt.title("SIN function&

  • Python matplotlib如何绘制各种流线图

    目录 前言 流线图概述 什么是流线图? 流线图应用场景 获取流线图方法 流线图属性 设置流线图密度 设置流线宽度 设置流线颜色 设置流线缩放 设置流线颜色系 绘制流线图步骤 小试牛刀 总结 前言 在Python关于绘图,Mlab提供开源的matplotlib模块,不仅可以绘制折线图.柱状图.散点图等常规图外,还支持绘制量场图.频谱图.提琴图.箱型图等特殊图,例举往期文章可前往查看详情. 我们日常生活中经常会关注天气预报,在换季的时候,播报员会讲解气流流动情况.在天气预报过程中,气象专家们会根据流

  • Python matplotlib绘图建立画布及坐标系

    目录 一.建立画布 二.用plt.subplot函数建立坐标系,并分别绘制折线图和柱状图 三.完整代码如下所示 四.对应效果图如下所示 一.建立画布 import matplotlib.pyplot as plt import numpy as np x=np.arange(8) y=np.arange(8) print(x,y) #建立画布 figsize,它用width和height来控制画布的宽和高 plt.figure(figsize=(8,6),dpi=90) #facecolor='

  • Python+matplotlib实现绘制等高线图示例详解

    目录 前言 1. 等高线图概述 什么是等高线图? 等高线图常用场景 绘制等高线图步骤 案例展示 2. 等高线图属性 设置等高线颜色 设置等高线透明度 设置等高线颜色级别 设置等高线宽度 设置等高线样式 3. 显示轮廓标签 4. 填充颜色 5. 添加颜色条说明 总结 前言 我们在往期对matplotlib.pyplot()方法学习,到现在我们已经会绘制折线图.柱状图.散点等常规的图表啦(往期的内容如下,大家可以方便查看往期内容) Python matplotlib底层原理解析 Python利用 m

  • Python数据分析之Matplotlib的常用操作总结

    目录 使用准备 1.简单的绘制图像 2.视图面板的常用操作 3.样式及各类常用修饰属性 4.legend图例的使用 5.添加文字等描述 6.不同类型图像的绘制 总结 使用准备 使用matplotlib需引入: import matplotlib.pyplot as plt 通常2会配合着numpy使用,numpy引入: import numpy as np 1.简单的绘制图像 def matplotlib_draw(): # 从-1到1生成100个点,包括最后一个点,默认为不包括最后一个点 x

  • Python+Matplotlib+LaTeX玩转数学公式

    目录 1.Matplotlib中使用LaTeX公式和符号 一些配置 Matplotlib中使用Latex字符和公式 2.latexify生成LaTeX数学公式 3.handcalcs生成LaTeX数学公式 4.Latexsymbols对照表 1.Matplotlib中使用LaTeX 公式和符号 一些配置 安装两个软件,链接给出,提取码:1234 protext-3.2-033020.zip gs9531w64.exe 添加到环境变量中 以下两句放到环境变量中.C:\Users\xx\AppDat

  • 使用python matplotlib画折线图实例代码

    目录 matplotlib简介 1.画折线图[一条示例] 2.画折线图带数据标签 3.画多条折线图: 4.画多条折线图分别带数据标签: 总结 matplotlib简介 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备,并且Gallery页面中有上百幅缩略图,打开之后都有源程序.因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基

  • Python matplotlib绘图可视化知识点整理(小结)

    无论你工作在什么项目上,IPython都是值得推荐的.利用ipython --pylab,可以进入PyLab模式,已经导入了matplotlib库与相关软件包(例如Numpy和Scipy),额可以直接使用相关库的功能. 本文作为学习过程中对matplotlib一些常用知识点的整理,方便查找. 这样IPython配置为使用你所指定的matplotlib GUI后端(TK/wxPython/PyQt/Mac OS X native/GTK).对于大部分用户而言,默认的后端就已经够用了.Pylab模式

  • 使用python matplotlib 画图导入到word中如何保证分辨率

    在写论文时,如果是菜鸟级别,可能不会花太多时间去学latex,直接用word去写,但是这有一个问题,当我们用其他工具画完实验彩色图时,放到word中会有比较模糊,这有两个原因导致的. 原因一:图片导入word中,word会对图片进行压缩,导致图片分辨率变小.可以在word中指定word的属性.过程如下: 选中图片 选择格式菜单栏 点击压缩图片按钮(上面圈出来的地方),在弹出来的对话框选择(220ppi),如下图所示: 原因二:用matplotlib产生的图片太大,如果在word中显示就需要缩小,

  • 使用python matplotlib contour画等高线图的详细过程讲解

    目录 函数画图 颜色取反 数据画图 选择性画图 总结 函数画图 以 z = x 2 + y 2 为例 #导入模块 import numpy as np import matplotlib.pyplot as plt #建立步长为0.01,即每隔0.01取一个点 step = 0.01 x = np.arange(-10,10,step) y = np.arange(-10,10,step) #也可以用x = np.linspace(-10,10,100)表示从-10到10,分100份 #将原始数

  • 解决Linux系统中python matplotlib画图的中文显示问题

    最近想学习一些python数据分析的内容,就弄了个爬虫爬取了一些数据,并打算用Anaconda一套的工具(pandas, numpy, scipy, matplotlib, jupyter)等进行一些初步的数据挖掘和分析. 在使用matplotlib画图时,横坐标为中文,但是画出的条形图横坐标总是显示"框框",就去查资料解决.感觉这应该是个比较常见的问题,网上的中文资料也确实很多,但是没有任何一个彻底解决了我遇到的问题.零零碎碎用了快3个小时的时间,才终于搞定.特此分享,希望能帮到有同

  • 基于Linux系统中python matplotlib画图的中文显示问题的解决方法

    最近想学习一些python数据分析的内容,就弄了个爬虫爬取了一些数据,并打算用Anaconda一套的工具(pandas, numpy, scipy, matplotlib, jupyter)等进行一些初步的数据挖掘和分析. 在使用matplotlib画图时,横坐标为中文,但是画出的条形图横坐标总是显示"框框",就去查资料解决.感觉这应该是个比较常见的问题,网上的中文资料也确实很多,但是没有任何一个彻底解决了我遇到的问题.零零碎碎用了快3个小时的时间,才终于搞定.特此分享,希望能帮到有同

  • 不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决

    前言 本文主要给大家介绍了关于不同版本中Python matplotlib.pyplot.draw()界面绘制异常的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 在 Ubuntu系统上进行如下配置: $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install python-dev $ sudo apt-get install python-pip $ sudo pip install --u

  • python matplotlib中文显示参数设置解析

    最近在学习python著名的绘图包matplotlib时发现,有时候图例等设置无法正常显示中文,于是就想把这个问题解决了. PS:本文仅针对Windows,其他平台仅供参考. 原因 大致就是matplotlib库中没有中文字体. 我安装的anaconda,这是对应的matplotlib的字体所在文件夹(怎么找到matplotlib配置文件夹所在,下面解决方案会叙述,easyman~). C:\Anaconda64\Lib\site-packages\matplotlib\mpl-data\fon

随机推荐