数据分析(matplotlib )

部署运行你感兴趣的模型镜像


前言

数据分析不仅是Python数据科学的基础,还是机器学习课程的基础


一、matplotlib是什么?

matplotlib 是一个用于创建静态、动态、以及交互式可视化的综合库,能够生成各种类型的图表。

二、使用步骤

1.引入库

代码如下:

import matplotlib.pyplot as plt
import matplotlib

2.绘制折线图

代码如下:

plt.plot(x,y) #转入x和y,通过plot绘制折线图
plt.show() #展示图形

请添加图片描述

3.调整坐标轴刻度

代码如下:

plt.xticks()
plt.yticks()

4.保存图片

代码如下:

plt.savefig("名称.png") #也认可保存为.svg格式

5.显示中文(Windows)

Mac和Linux系统和以下方法不同

代码如下:

font={
    'family' : 'SimHei', #也可以使用"Microsoft YaHei"和"SimSun"
    'weight' : 'bold',
    'size'   : '14'}
matplotlib.rc('font', **font) #不会使用可以Ctrl+B查看源代码

6.添加描述信息

代码如下:

plt.xlabel('') #x axis
plt.ylabel('') #y axis
plt.title('') #标题

7.自定义风格

代码如下:

plt.figure(figsize=(15 ,5),dpi=80) #图片大小和dpi
plt.grid(alpha=0.4) #绘制网格,alpha为透明图
plt.legend() #添加图例,改变图例位置 loc="best"(默认)
plt.plot(x,y,label,color,linestyle,linewidth) #折线颜色,风格和宽度

8.绘制散点图

技术要点代码如下:

plt.scatter(x,y)

实例代码如下(3月和10月每日最高温度):

import matplotlib.pyplot as plt
import matplotlib

#显示中文
font={
    'family' : 'SimHei',
    'weight' : 'bold',
    'size'   : '14'}
matplotlib.rc('font', **font)

y_3=[11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,15,15,15,19,21,22,22,22,23]
y_10=[26,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,17,10,11,13,12,13,6]
x_3=[f"3月{i}日" for i in range(1,32)]
x_10=[f"10月{i}日" for i in range(1,32)]

plt.figure(figsize=(30,15),dpi=80)
plt.scatter(x_3,y_3,label='3月')
plt.scatter(x_10,y_10,label='10月')
plt.xticks(rotation=270)
plt.yticks(range(min(y_3+y_10),max(y_3+y_10)+1))

plt.legend()

plt.xlabel('时间')
plt.ylabel('温度')
plt.title('3月和10月每日最高温度')

plt.show()

在这里插入图片描述

9.绘制条形图

技术要点代码如下:

plt.bar(x,y,width=0.2,color="") #竖着的条形图,width表示条形宽度,默认为0.8,颜色默认为蓝色
plt.barh(x,y,height=0.2) #横着的条形图

实例代码如下(全球女歌手巡演票房前五名):

import matplotlib.pyplot as plt
import matplotlib

#显示中文
font={
    'family' : 'SimHei',
    'weight' : 'bold',
    'size'   : '14'}
matplotlib.rc('font', **font)

x=['泰勒·斯威夫特(Taylor Swift)','P!nk','碧昂丝(Beyoncé)','邓紫棋(G.E.M.)','麦当娜(Madonna)']
y=[20.7,5.84,5.79,4.24,4.07]

plt.figure(figsize=(25,8),dpi=80)
plt.barh(x,y,height=0.8,color=['#1f77b4','#1f77b4','#1f77b4','#800080','#1f77b4'])

#在条形上显示数值
for i, (name, value) in enumerate(zip(x, y)):
    plt.text(value + 0.1, i, f'{value}亿美元',
             va='center', ha='left', fontsize=11, fontweight='bold')

plt.xticks(list(range(26))[::5])
plt.xlabel('票房(亿美元)')
plt.ylabel('歌手',rotation=0)
plt.title('全球女歌手巡演票房前五名')

plt.savefig('yuntng.png')
plt.show()

请添加图片描述

10.绘制直方图

技术要点代码如下:

#有真实数据时使用hist。如果原始数据丢失,只有统计数据则使用bar   
plt.hist(x,bins) #频数直方图
plt.hist(x,bins,normed=Ture) #频率直方图

实例代码如下(电影时长):

import matplotlib.pyplot as plt
import matplotlib

#显示中文
font={
    'family' : 'SimHei',
    'weight' : 'bold',
    'size'   : '14'}
matplotlib.rc('font', **font)

a=[131,98,125,131,124, 139, 131,117,128,108,135,138,131,102,107,114,119,128,121, 142,127,130,124,101,110,116,117,110,128,128,115,99,136,126,134,95,138,117,111,78,132,124,113,150,110,117,86,95,144,105,126,130,126,130,126,116,123,106,112,138,123,86,101,99,136,123,117,119,105,137,123,128,125,104,109,134,125,127,105,120,107,129,116,108,132,103,136,118,102,120,114,105,115,132,145,119,121,112,139,125,138,109,132,134,156,106,117,127,144,139,139,119,140,83,110,102,123,107,143,115,136,118,139,123,112,118,125,109,119,133,112,114,122,109,106,123,116,131,127,115,118,112,135,115,146,137,116,103,144,83,123,111,110,111,100,154,136,100,118,119,133,134,106,129,126,110,111,109,141,120,117,106,149,122,122,110,118,127,121,114,125,126,114,140,103,130,141,117,106,114,121,114,133,137,92,121,112,146,97,137,105,98,117,112,81,97,139,113,134,106,144,110,137,137,111,104,117,100,111,101,110,105,129,137,112,120,113,133,112,83,94,146,133,101,131,116,111,84,137,115,122,106,144,109,123,116,111,111,133,150]

d=3 #组距(若数据极差不能被组距整除,可改用numpy的arange更精确划分区间)
bins=(max(a)-min(a)) //d #组数

plt.figure(figsize=(20,8))
plt.hist(a,bins)
plt.xticks(range(min(a),max(a)+d,d))
plt.grid()

plt.savefig('yuntng.png')
plt.show()

请添加图片描述

11.绘制饼图

饼图核心函数是plt.pie(),需传入数值数据和标签


总结

以上就是matplotlib的内容,本文仅仅简单介绍了matplotlib的使用,而matplotlib是 Python 的核心可视化库,兼具易用性和高度定制化能力;采用分层架构,支持pyplot快捷模式和面向对象定制模式;广泛应用于数据可视化、科研绘图等场景,能生成高质量的各类图表。

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值