使用Matplotlib绘制图表初步

2 篇文章 0 订阅
1 篇文章 0 订阅

所需要的库

  • matplotlib包中的pyplot模块,用于绘图。
  • numpy模块,用于完成数值运算、矩阵运算等。
  • pandas模块,用于数据操纵和分析、导入数据文件等。
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

注:本文中所有项目实例都是在Jupyter Notebook环境下运行的。

绘制曲线图 plot

通用步骤

  • plt.figure 指定图像显示比例和像素
# 指定图像显示比例和像素 5*3 每个单位200像素,即1000*600
plt.figure(figsize=(5,3), dpi=200)
  • plt.style.use 定制画布风格
# 定制画布风格
plt.style.use('seaborn-whitegrid')
  • plt.plot 绘制曲线线条
# 绘制曲线线条,可以设置图例、颜色、线宽、标记点、标记点大小、标记点边缘色、线型等
plt.plot(x, y, label='blue', color='#6699ff', linewidth=4, marker='.', markersize=20, markeredgecolor='#3333ff', linestyle='-.')
# 可以通过fmt = '[marker][line][color]'快速设置标记点、线型和颜色,但注意要在关键字参数之前
plt.plot(x, z, 'g^-.', label='green')
  • plt.title plt.xlabel plt.ylabel 设置图表标题和坐标轴标题
# 设置图表标题,可以设置标题字体、字号(字典形式)
plt.title("First graph!",fontdict={'fontname':'Comic Sans MS','fontsize':20})
# 设置坐标轴标题,可以设置坐标轴字体、字号(字典形式)
plt.xlabel("X Axis",fontdict={'fontname':'Times New Roman','fontsize':10})
plt.ylabel("Y Axis",fontdict={'fontname':'Times New Roman','fontsize':10})
  • plt.xticks plt.yticks 设置x,y坐标轴刻度点
# 设置x坐标轴刻度点
plt.xticks([1,2,3,4,5])
# 设置y坐标轴刻度点
plt.yticks([2,3,4,5,6,7])
  • plt.legend() 显示图例(即 plt.plot 中的label)
# 显示图例
plt.legend()
  • plt.savefig 保存图片
# 保存图片
plt.savefig('firstgraph.png',dpi=200)
  • plt.show 显示图像
# 显示图像
plt.show()

在这里插入图片描述

其他常用的 numpy 方法

  • np.linspace(start, stop, num=50) 根据起止数据等间距地生成数组,从start开始到stop结束,共num个点(默认50个)。
  • np.sin(array) 计算数组的正弦值,返回一个数组。
x = np.linspace(0, 10, 1000)
plt.plot(x,np.sin(x),'b--')
plt.show()

在这里插入图片描述

  • np.arange(start, stop, step)np.linspace()类似,根据起止数据等间距地生成数组,但常用于步进值step已知的情况下。
x2 = np.arange(0, 4.5, 0.5)

# 分段函数
plt.plot(x2[:6], x2[:6]**2, 'b.-', label='x1')
plt.plot(x2[5:], x2[5:]**2, 'b.:', label='x2')

plt.legend()

plt.show()

在这里插入图片描述

绘制柱形图 bar chart

通用步骤

  • plt.figure 指定图像显示比例和像素
# 指定图像显示比例和像素
plt.figure(figsize=(6,4),dpi=200)
  • plt.style.use 定制画布风格
# 定制画布风格(默认)
plt.style.use('default')
  • 设定柱子名字列表和对应的值列表
labels = ['A','B','C']
values = [1, 4, 2]
  • plt.bar 绘制柱子
# 画柱形图并传递给bars,bars[0]即表示第一个柱子  
bars = plt.bar(labels, values)
  • bar.set_hatch 设置柱子图案
# 设置柱状图图案
patterns = ['*','/','O']
for bar in bars:
    bar.set_hatch(patterns.pop(0))
  • plt.title 设置柱状图标题
# 设置柱状图标题
plt.title("My Bars")
  • plt.savefig 保存图片
# 保存图片
plt.savefig('bar.png',dpi=200)
  • plt.show 显示图像
# 显示图像
plt.show()

在这里插入图片描述

绘制饼图 pie chart

通用步骤

  • pd.read_csv() 读取数据(这里用到了pandas库的方法)返回表格
fifa = pd.read_csv('fifa_data.csv')
fifa.head(5) # 查看前五行的数据

在这里插入图片描述

  • plt.figure 指定图像显示比例和像素
# 指定图像像素
plt.figure(dpi=200)
  • plt.style.use 定制画布风格
# 定制画布风格
plt.style.use('ggplot')
  • fifa.loc[] 设定条件,筛选数据,返回表格(去掉了不满足条件的行)
  • fifa.loc[...].count 得到满足条件的行数(此时只得到了每一列的行数,需要索引0下标得到int型行数)
# 设定条件,筛选数据
left = fifa.loc[fifa['Preferred Foot'] == 'Left'].count()[0]
right = fifa.loc[fifa['Preferred Foot'] == 'Right'].count()[0]
  • 输入标签参数、颜色参数、爆炸参数(0~1,越大离中心越远)等
# 标签参数
labels=['Left','Right']
# 颜色参数
colors=['#0099ff','#ff6699']
# 爆炸参数
explode=(0.2, 0)
  • plt.pie 绘制饼图,包含标签、颜色和爆炸参数,包含数字里中心点的距离(0~1,越大离中心越远),包含默认显示的小数位数
# 绘制饼图,默认显示小数点后两位加%(这里使用了转义字符%%)
plt.pie([left, right],labels=labels, colors=colors, explode=explode, pctdistance=0.7, autopct='%.2f%%')
  • plt.title 设置饼图标题
# 设置饼图标题
plt.title("Foot Preference of FIFA Players")
  • plt.legend() 显示图例(即 label)
# 显示图例
plt.legend()
  • plt.savefig 保存图片
# 保存图片
plt.savefig('bar.png',dpi=200)
  • plt.show 显示图像
# 显示图像
plt.show()

在这里插入图片描述

绘制柱状图 hist

通用步骤

  • pd.read_csv() 读取数据(这里用到了pandas库的方法)返回表格
  • plt.figure 指定图像显示比例和像素
  • 输入箱子的范围
plt.figure(figsize=(8,5), dpi=200)
  • plt.hist 绘制柱状图,给定检测的列和箱子,会自动生成柱状图
plt.hist(fifa.Overall, bins=bins, color='#33ccff')
  • plt.title plt.xlabel plt.ylabel 设置图表标题和坐标轴标题
plt.title("Distribution of Player Skills in FIFA")
plt.xlabel("Number of Players")
plt.ylabel("Skill Level")
  • plt.xticks 设置x坐标轴刻度点
plt.xticks(bins)
  • plt.savefig 保存图片
# 保存图片
plt.savefig('bar.png',dpi=200)
  • plt.show 显示图像
# 显示图像
plt.show()

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值