jupyter nootbook 下的 matplotlib 一些入门实例;

前言

本篇文章是个人学习后自己体验感悟。

参考链接 我的大学老师刘二大人
刘二大人永远的神


提示:以下是本篇文章正文内容,下面案例可供参考

一、前期配件

需要准备好 所需库 anaconda 与 opencv

作者提示:在安装opencv时 要选择符合python 版本的
一般选择在控制台输入以下指令 pip install opencv-python 有些情况比如比如资源被墙导致下载速度太慢以及超时 导致opencv不能正常下载。 这是我们需要找到清华镜像库下的 opencv-python资源再下载就好了
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
相关文章我放在下面的链接
相关安装opencv的文章点我跳转

二、控制台安利

1.Windows Terminal

强烈安利这个控制台,在微软超市直接搜索就可以下载。这个控制台操作ipython会十分方便。
他长这个样子

1.打开jupyter notebook

在Windows Terminal 里找到相关文件路径 cd //某某路径(包含jupyter notebook 工程) 进入(有空格或字符不好直接输入的可以打首字母敲击Tab 在进入) 输入jupyter notebook 后会跳转网页 可以在网页端直接操作。

三、 matplotlib 的简单应用

1.连续曲线与离散的点

如果要在jupyter notebook中交互式的使用matplotlib的绘图,需要加上以下命令:

%matplotlib inline

导入包(示例):

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline

我们就以这个函数为例 2 ∗ s i n ( x ) + 0.3 x 2 2*sin(x)+0.3x^2 2sin(x)+0.3x2 用mpl 模拟出实例与模型。

代码如下(示例):

//选取一个随机种子
np.random.seed(42) 

# x轴的采样点设置为0到5之间的100个点
x = np.linspace(0, 5, 100)

# 计算两个数据列,y用来存储无噪声的结果,y_sample用来存储带有噪声的采样结果
y = 2 * np.sin(x) + 0.3 * x ** 2
y_sample = y + np.random.normal(scale=0.3, size=100)
# 绘制采样数据的散点图
plt.figure('data')

# 输出采样数据
plt.plot(x, y_sample,'.')

# 绘制模型数据的曲线图
plt.figure('model')

# 绘制曲线
plt.plot(x,y)

结果如下(示例):
在这里插入图片描述

下面使之融合在一个图标里

# 用'b'设置线的颜色,lw=3
# 'b'也可以改为'r--',表示红色的虚线   // lw 控制 曲线的粗细  数值越大越粗
plt.plot(x, y, 'b', lw=3)

# scatter用来绘制散点图
plt.scatter(x, y_sample, c='r', edgecolor='k')

#plot  用来画 连续的线   scatter  用来画离散的点

# 将当前figure的图保存到文件
plt.savefig('result.png')

在这里插入图片描述


2.柱状图

# 对图表的全局配置进行修改
mpl.rcParams['axes.titlesize'] = 12
mpl.rcParams['xtick.labelsize'] = 9
mpl.rcParams['ytick.labelsize'] = 9
mpl.rcParams['axes.labelsize'] = 9
mpl.rcParams['xtick.major.size'] = 0
mpl.rcParams['ytick.major.size'] = 0

# 狗、猫和猎豹的最高奔跑速度   前期准备工作
speed_map = {
   
    'dog': (48, '#7199cf'),
    'cat': (45, '#4fc4aa'),
    'cheetah': (120, '#e1a7a2')
}

图的构建:

fig = plt.figure('Bar chart & Pie Chart')
# 添加一个子图,一行两列的子图的第一个
ax = fig.add_subplot(1, 2, 1)
ax.set_title('Running speed - bar chart')
# 生成x轴的每个元素的位置
xticks = np.arange(3)
# 定义柱状图每个柱的宽度
bar_width = 0.5
# 动物名称
animals = speed_map.keys()
# 奔跑速度
speeds = [x[0] for x in speed_map.values()]
# 对应的颜色
colors = [x[1] for x in speed_map.values()]
# 绘制柱状图
bars = ax.bar(xticks, speeds, width=bar_width, edgecolor='none', color=colors)
# 设置图表的属性
ax.set_ylabel('Speed(km/h)')
ax.set_xticks(xticks+bar_width/2)
ax.set_xticklabels(animals)
ax.set_xlim(bar_width/2 - 0.5, 3 - bar_width/2)
ax.set_ylim([0, 125])
# 添加一个新的子图
ax = fig.add_subplot(1, 2, 2)
ax.set_title('Running speed - pie chart')

labels = ['{0}\n{1} km/h'.format(animal, speed) for animal, speed in zip(animals, speeds)]

# 画饼状图,并指定标签和对应颜色
ax.pie(speeds, labels=labels, colors=colors)

在这里插入图片描述
个人疑问:在我注释了labels = ['{0}\n{1} km/h'.format(animal, speed) for animal, speed in zip(animals, speeds)]后仍然可以给右侧饼状图上标签 饼状图的label是如何工作的希望有大神讲解一下


剩下部分 作者作为一个学渣本科生已经费劲能读懂了 全部搬运没有个人理解 希望我在剩下时间可以弄懂这些

3.Matplotlib的3D作图

3D图表需要使用mpl_toolkits模块。

from mpl_toolkits.mplot3d import Axes3D

np.random.seed(42)

# x-y平面的格点数, 中心位置, 低频成分的个数
n_grids = 51
c = n_grids // 2
nf = 2

# 生成格点
x = np.li
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值