matplotlib初识

一、matplotlib

  • matplotlib支持2D图形绘制,折线图、饼图、散点图、…
  • matplotlib 也支持3D图形和动画,对于动画的支持不友好;
  • 具有良好的系统兼容性(默认对中文不识别,各系统下修改方式不同)
  • 可绘制高品质(设置清晰度)的图形
  • 可以在python shell、Ipython shell,jupyter notebook、pycharm(需要添加plt.show()参数,返回前端内容)上运行
  • 核心控制对象:标题、图例、XY轴标签、xy轴刻度、图形部分(具体所应用的图形)、图形的注释(关注点的提示),尺寸对象(图形大小的控制,也称画布)

1.简单配置绘图相关属性

默认配置:

import matplotlib.pyplot as plt # 画图模块
import matplotlib.style as style # 风格
import numpy as np
import scipy.stats as stats


# 配置图形
# 1.风格
style.use("ggplot")
#2.配置画布尺寸
plt.rcParams["figure.figsize"] = (10,6.18)
# 3.清晰度
plt.rcParams["figure.dpi"] = 100
# 4 .识别中文
plt.rcParams["font.sans-serif"] = ["SimHei"]
#5.当plt识别中文后,对于数字的负号就不识别了
plt.rcParams["axes.unicode_minus"] = False

2.matplotlib中绘图的三种模式

根据此默认配置可以完成静态图形的绘制,而对于交互类型的图像就需要使用到matplotlib自带的魔法方法

%matplotlib notebook

这样就可以在notebook中进行放大缩小等交互操练了。

在notebook中使用plt绘制的三种模式:

  • %matplotlib inline:这是默认的模式,输出的图片是静态的
  • %matplotlib auto:在这个模式下会弹出一个单独 的绘图窗口,和在pycharm中一样
  • %matplotlib notebook:在这个模式下会在notebook中产生一个绘图窗口,能够对图片进行放大缩小等操作。

二、使用motplotlib进行简单绘图

1.绘制高斯分布曲线

import matplotlib.pyplot as plt # 画图模块
import matplotlib.style as style # 风格
import numpy as np
import scipy.stats as stats


# 配置图形
# 1.风格
#style.use("ggplot")
style.use("ggplot")
#2.配置画布尺寸
plt.rcParams["figure.figsize"] = (10,6.18)
# 3.清晰度
plt.rcParams["figure.dpi"] = 100
# 4 .识别中文
plt.rcParams["font.sans-serif"] = ["SimHei"]
#5.当plt识别中文后,对于数字的负号就不识别了
plt.rcParams["axes.unicode_minus"] = False

# 数据部分
x = np.linspace(-10,10,200)
y = stats.norm.pdf(x)/np.max(stats.norm.pdf(x))   #pdf概率密度函数
# 绘制线型图
plt.plot(x,y)


#  增加一条线
y1 = stats.norm.cdf(x)  #cdf概率增长趋势
plt.plot(x,y1)

# 填充区域面积
plt.fill_between(x,y,alpha=3)

# 增加图例
plt.plot(x,y1,label = "CDF") #label图例信息
# 开启图例
plt.legend() 
#plt。legend(labels = ['a','b'])  # legend()中也可设置图例,优先级高于画线参数label


# 添加注释
plt.text(-2.5,0.6,s="PDF",rotation=70,color="red",alpha = .7,fontsize = 20)

# 轴标签设置
plt.xlabel("X轴",color = "green",fontsize=20,rotation=90)

# 刻度设置
plt.xticks(np.arange(-5,5))

#保存图片
#plt.savefig("./",dpi= 100)   100像素就足够了



2.结合Numpy绘制三角函数曲线

import matplotlib.pyplot as plt #画图模块
import matplotlib.style as style #风格
import numpy as np
import scipy.stats as stats
import warnings
warnings.filterwarnings("ignore")
%matplotlib inline
#inline 嵌入静态图
#配置图形
#1.风格配置
style.use("fivethirtyeight")
#2.配置画布的尺寸
plt.rcParams["figure.figsize"] = (12,6)
#3.清晰度
plt.rcParams["figure.dpi"] = 100
#4.设置识别中文
plt.rcParams["font.sans-serif"] = ["SimHei"]
#rcParams['font.sans-serif'] = ['MicroSoft YaHei']
#5.当plt识别中文以后,对于数字的负号就不识别
plt.rcParams["axes.unicode_minus"] = False


x = np.linspace (-np.pi,np.pi,100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.plot(x,y1,label = "sin")
plt.plot(x,y2,label = "cos")

pi = np.pi
ticks = [-pi,-pi/2,0,pi/2,pi]
labels = ['$-\pi$','$-\pi/2$','zero','$\pi/2$','$\pi$']
# tickes 可以映射
# plt.xticks()可以设置x轴上刻度
plt.xticks(ticks,labels,color = "y",fontsize = 20,rotation = 45)
# plt.yticks()设置y轴上刻度
plt.yticks([-1,0,1],["min",'0',"max"])

plt.legend()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值