Matplotlib

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# 运行时配置参数
# rcParams: runtime configuration Parameters

#如果浏览器不显示图片,就需要加上这句话
%matplotlib inline

#让图片可以显示中文
plt.rcParams['font.sans-serif'] = 'SimHei'
#让图片可以显示负号
plt.rcParams['axes.unicode_minus'] = False

#支持svg矢量图
%config Inlinebackend.figure_format = 'svg'

#查看自己电脑上的字体库
from matplotlib.font_manager import FontManager
fm = FontManager()
my_fonts = set(f.name for f in fm.ttflist)
my_fonts


#抛物线
x = np.linspace(-5, 5, 50) #等差数列 从-5到5等分为50份
y = x**2
# 画图:线形图,折线图
plt.plot(x, y)
#ls: line style 线的样式
#样式:'-',  '--',  '-.',  ':',  '.',  ',', ......
#颜色:colour
#颜色:b(蓝色),g(绿色),r(红色),c(青色),m(品红),y(黄色),k(黑色),w(白色)
#plt.plot(x, y, colour='red', ls='-')
#也可以这么写plt.plot(x,y,'b--')


#画布配置 plt.figure()
#figsize:画布大小,宽高,宽高比例
#dpi: 分辨率,像素密度
#facecolor:画布的背景颜色
plt.figure(figsize=(5,3), dpi=100, facecolor='red')
#画sin曲线
x = np.linspace(0,2*np.pi)
y = np.sin(x)
plt.plot(x,y)
#设置网格
plt.grid()
#在一个画布上绘制多个图
plt.figure(figsize=(5,3))
x = np.linspace(0, 8)
plt.plot(x, np.sin(x))
plt.plot(x, np.cos(x), 'r')
plt.plot(x,-np.sin(x), 'g--')
#立刻显示图片 plt.show()
#决定图片从哪里开始显示


#Matplotlib多图布局
# 均匀分布 subplot()函数
# 2行2列
fig = plt.figure(figsize=(8,5))
x = np.linspace(-np.pi, np.pi, 30)
y = np.sin(x)
# 子图1
ax1 = plt.subplot(221)   #2行2列的第一个图
ax1.plot(x,y)
ax1.set_title('子图1')   #设置子图的名称

# 子图2
ax2 = plt.subplot(222)   #2行2列的第二个图
ax2.plot(x,y)
ax2.set_title('子图2')   #设置子图的名称

# 子图3
ax3 = plt.subplot(2, 2, 3)   #子图较多的时候分开写比较好
ax3.plot(x,y)
ax3.set_title('子图3')   #设置子图的名称

# 子图4
ax4 = plt.subplot(2, 2, 4)   #子图较多的时候分开写比较好
ax4.plot(x,y)
ax4.set_title('子图4')   #设置子图的名称

#自动调整布局 防止子图的名字和其他子图重叠
fig.tight_layout(0)



#换一种画法
plt.figure(figsize=(8,5))
x = np.linspace(-np.pi, np.pi, 30)
y = np.sin(x)
# 子图1
ax1 = plt.subplot(221)   
ax1.plot(x,y)
# 子图2
ax2 = plt.subplot(222)  
ax2.plot(x,y)
# 子图3
ax3 = plt.subplot(2, 1, 2)  #2行1列中的第2行
ax3.plot(x, np.sin(x*x))

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务