Matplotlib是pyhon中一个强大的绘图图,可以理解为 MatLab 开源替代,鉴于MatLab的内存之大及安装之复杂,决定先学学Matplotlib这个库。
10年积累的网站设计、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有宜阳免费网站建设让你可以放心的选择与我们合作。
1Matplotlib的安装
window:
打开cmd,:
python -m pip install -U pip setuptools
python -m pip install matplotlib
mac:
打开终端,输入
pip3 install matplotlib
鉴于很多人会报read time out的大红一片,建议使用清华镜像安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib
这个清华镜像安装真的很快捷,以后需要安装什么库就改一下最后的库名就可以了
然后用pip list检查是否安装成功
2.上手Matplotlib
首先来一个实例,绘制一个一次函数:y=kx+b
import numpy as np
#需要提前安装好numpy,numpy是python的一个开源数值计算扩展工具,在此导入该函数库
from matplotlib import pyplot as plt #导入pyplot
x = np.arange(1,12) #定义x坐标轴刻度
y = 2 * x + 5 #定义y
plt.title("Matplotlib demo") #定义图名
plt.xlabel("x axis ") #定义x轴标签
plt.ylabel("y axis ") #定义y轴标签
plt.plot(x,y) #调用plot函数定义在此函数中绘图
plt.show()#结果显示
运行之后效果如图:![在这里插入图片描述](/upload/otherpica41/45279.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjA5NjAzMg==,size_16,color_FFFFFF,t_70
在此我们将图标进行中文显示,若直接在代码将会出现乱码,为此需要在你的电脑系统找到相应的中文字体,大部分是STFangsong(仿宋),若不知可使用以下代码查询字体:
from matplotlib import pyplot as plt
import matplotlib
a=sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist])
for i in a:
print(i) 郑州妇科医院哪家好 https://yiyuan.120ask.com/zzfck/
打印出你的 font_manager 的 ttflist 中所有注册的名字,找一个看中文字体例如:仿宋,然后添加以下代码即可:
plt.rcParams['font.family']=['Adobe Fangsong Std']
我最先看到的是adobe的字体,所以用了这个
import numpy as np
from matplotlib import pyplot as plt
import numpy as np
from matplotlib import pyplot as plt
x = np.arange(1,12)
y = 2 * x + 5
plt.rcParams['font.family']=['Adobe Fangsong Std']
plt.title("Matplotlib 项目")
plt.xlabel("x 轴")
plt.ylabel("y 轴")
plt.plot(x,y)
plt.show()
3正弦波形的绘制
import numpy as np
import matplotlib.pyplot as plt
X = np.linspace(0,2*np.pi,1000) #区间0~2×Pi,生成样本数:1000(样本数越高曲线越精确)
Y = np.sin(X)
plt.plot(X,Y)
plt.show()
照葫芦画瓢,我们可以在同时生成sin,cos函数的图像
import numpy as np
import matplotlib.pyplot as plt
X = np.linspace(0,2*np.pi,1000)
Y = np.sin(X)
plt.plot(X,Y)
Y1=np.cos(X)
plt.plot(X,Y1)
plt.show()