AI小知识系列(四) Matplotlib常用操作

Matplotlib常用操作

import matplotlib.pyplot as plt
import numpy as np

1.折线图

x_axis = [5,8,9,11,14,16,18,19]
y_axis1= [19,18,16,14,11,8,9,5]
y_axis2= [20,19,17,15,12,9,10,6]
plt.plot(x_axis,y_axis1, c = "r", label = "red")
plt.plot(x_axis,y_axis2, c = "b", label = "blue")
#美化图的操作
plt.xticks(rotation = 45)  #使x轴的数字旋转45°
plt.xlabel("this is x_axis") #x轴标签
plt.ylabel("this is y_axis") #y轴标签
plt.title("this is title") #此图像的标题
plt.legend(loc = "best") #为图像生成legend,loc参数为best指,在最适合的地方显示

plt.show()

在这里插入图片描述

#plt.plot的常用参数如下
plt.plot(x_axis,y_axis1, c = "r", label = "red",linestyle='--',marker='*',linewidth=2)
#c---颜色参数,可选择'b'(蓝),'g'(绿),'r'(红),'c'(蓝绿),'m'(红),'y'(黄),'k'(黑),'w'(白)
#label---折线的标签,用作legend的显示
#linestyle---折现的样式,默认为None,可选择'-','--','-.',':'
#marker---点的样式,默认None,可选择'o'(圆)  '.'(点)  'v'(下三角)  '^'  '*'(五角星) 'x'(叉号)等
#linewidth -- 线宽

在这里插入图片描述

2.保存绘制的图像

#保存图像
##在plt.plot运行后,使用plt.savefig,不能再plt.show之后再用,否则只能保存空图像
plt.savefig("examples.jpg")

3.matplotlib输出中文问题

from pylab import mpl

mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题

4.绘图中的其他的操作

# 设置坐标轴的取值范围
plt.xlim((-1, 1))
plt.ylim((0, 2))

#设置刻度
##设置x坐标轴刻度, 原来为0.25, 修改后为0.5
plt.xticks(np.linspace(0, 20, 5))
##设置y坐标轴刻度及标签, $$是设置字体
plt.yticks([10, 15], ['$minimum$', 'normal'])

#关闭坐标轴的显示
plt.axis('off')

#legend的复杂操作
l1, =plt.plot(x_axis,y_axis1, c = "r", label = "red")
l2, =plt.plot(x_axis,y_axis2, c = "b", label = "blue")
plt.legend(handles = [l1, l2,], labels = ['red', 'blue'], loc = 'best')

#设置绘图风格
plt.style.available  #查看可用的绘图风格
plt.style.use("bmh") #使用某一个名叫bmh的绘图风格

5.子图–subplot讲解

plt.subplot(2,1,1)  #构建一个2行1列的子图,此处在第一个子图进行绘制
plt.plot(x_axis,y_axis1, c = "r", label = "red")
plt.title("this is title") #此图像的标题
plt.legend(loc = "best") #为图像生成legend,loc参数为best指,在最适合的地方显示

plt.subplot(2,1,2)  #此处在第二个子图进行绘制
plt.plot(x_axis,y_axis2, c = "b", label = "blue")
plt.xlabel("this is x_axis") #x轴标签
plt.legend(loc = "best") #为图像生成legend,loc参数为best指,在最适合的地方显示

plt.show()
#两幅图像采用不同的配置

在这里插入图片描述


6.条形图绘制

X = [1, 2, 3, 4, 5, 6] #每条bar的位置
Y1 = [2,3,6,1,7,8] #每条bar的高度值
plt.bar(X, Y1, label='blue')

plt.xlabel("this is x_axis") #x轴标签
plt.ylabel("this is y_axis") #y轴标签
plt.title("this is title") #此图像的标题
plt.legend(loc = "best") #为图像生成legend,loc参数为best指,在最适合的地方显示

plt.show()

在这里插入图片描述

plt.bar(X,Y1,alpha=0.5,width=0.8,color='b',edgecolor='r',label='blue',linewidth=3)
#alpha---透明度,1代表不透明,0代表全透明。
#width---柱子的宽度
#color---柱状图填充的颜色,可采取的颜色同上
#edgecolor---图形边缘的颜色,可采取的颜色同上
#label---图像的标签
#linewidth---边缘的宽度

在这里插入图片描述

plt.barh()  #横着来显示数据
plt.barh(X,Y1,alpha=0.5,width=0.8,color='b',edgecolor='r',label='blue',linewidth=3)

在这里插入图片描述

7.散点图的绘制

x_axis = [5,8,9,11,14,16,18,19]
y_axis1= [19,18,16,14,11,8,9,5]
y_axis2= [20,19,17,15,12,9,10,6]
plt.scatter(x_axis, y_axis1,color='r',label='red')
plt.scatter(x_axis, y_axis2,color='b',label='blue')

plt.xlabel("this is x_axis") #x轴标签
plt.ylabel("this is y_axis") #y轴标签
plt.title("this is title") #此图像的标题
plt.legend(loc = "best") #为图像生成legend,loc参数为best指,在最适合的地方显示

plt.show()

#plt.scatter的参数同plt.plot,不在赘述

在这里插入图片描述


8.直方图的绘制

#直方图用来统计数据出现的频率
Y=[1,1,2,2,2,3,3,4,4,4,4,5,5]
plt.hist(Y)
plt.show()

在这里插入图片描述

plt.hist(Y,alpha=0.8,facecolor='b')
#range---默认None,选择直方图显示的范围
#bins---指定我们显示的直方图的边界
#alpha---透明度
#facecolor---直方图颜色
#histtype---直方图类型,可选‘bar’, ‘barstacked’, ‘step’, ‘stepfilled’
#绘制直方图的高级操作---一次绘制多个
data = [np.random.randint(0, n, n) for n in [3000, 4000, 5000]]
labels = ['3K', '4K', '5K']
bins = [0, 100, 500, 1000, 2000, 3000, 4000, 5000]
#bins数组用来指定我们显示的直方图的边界,即:[0, 100) 会有一个数据点,[100, 500)会有一个数据点,以此类推。所以最终结果一共会显示7个数据点。同样的,我们指定了标签和图例。

plt.hist(data, bins=bins, label=labels,color=['r','g','b'])
plt.legend()

plt.show()
#此处引用 https://blog.csdn.net/hiudawn/article/details/80373996

在这里插入图片描述


9.盒图

Y=[1,1,2,2,2,3,3,4,4,4,4,5,5]
plt.boxplot(Y)
plt.show()

在这里插入图片描述


10.饼状图

labels = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
data = [1, 2, 3, 4, 5, 6, 7]  
plt.pie(data, labels=labels, autopct='%1.2f%%')  # 第一个参数是占比,第二个各自的标签,第三个是显示精度

plt.axis('equal')  #调整一下图
plt.legend(loc='best')

plt.show()
#此处引用 https://blog.csdn.net/hiudawn/article/details/80373996

在这里插入图片描述

plt.pie(data,labels=labels,explode=[0.1 for i in range(7)], startangle=90,shadow=True,autopct='%1.2f%%')
#lablels---每一块的标签
#explode---每一块离中心的距离
#startangle---起始绘制角度,默认图是从x轴正方向逆时针画起,如设定=90则从y轴正方向画起
#shadow---是否有阴影
#labeldistance---label绘制位置,相对于半径的比例, 如<1则绘制在饼图内侧
#autopct---显示精度
#pctdistance---类似于labeldistance,指定autopct的位置刻度
#radius---控制饼图的半径

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 是一种非常流行的编程语言,也是人工智能领域中非常常用的语言之一。在 Python 中,有许多强大的库和框架可以用于人工智能开发,例如 TensorFlow、PyTorch、Keras 等等。以下是一个简单的 Python 人工智能教程: 1. 安装 Python 首先,需要安装 Python。可以从官方网站下载并安装最新版本的 Python。 2. 安装必要的库 Python 有很多库可以用于人工智能开发,但是以下是一些最基本的必备库: - NumPy:用于处理数值数据的库 - Pandas:用于处理数据的库 - Matplotlib:用于数据可视化的库 - Scikit-learn:用于机器学习的库 可以使用 pip 命令来安装这些库,在终端中输入以下命令: ``` pip install numpy pandas matplotlib scikit-learn ``` 3. 学习 Python 语法和基础知识 在深入学习人工智能之前,需要掌握 Python 的语法和基础知识。可以通过在线课程、书籍或者视频教程来学习 Python。 4. 学习人工智能算法和模型 有许多不同的人工智能算法和模型,例如神经网络、决策树、支持向量机等等。可以通过在线课程、书籍或者视频教程来学习这些算法和模型。 5. 学习使用 Python 中的人工智能库和框架 Python 中有许多用于人工智能开发的库和框架,例如 TensorFlow、PyTorch、Keras 等等。可以通过在线课程、书籍或者视频教程来学习如何使用这些库和框架。 6. 实践项目 在学习了 Python 语法、人工智能算法和模型以及使用 Python 中的人工智能库和框架之后,可以尝试实践一些项目。例如,可以使用 TensorFlow 来训练一个图像分类器,或者使用 Scikit-learn 来训练一个情感分析器。 以上就是一个简单的 Python 人工智能教程。希望这可以帮助你开始学习人工智能并使用 Python 进行开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值