可视化基础 ②基础语法

Part 2 基础语法

2.1 pyplot基础语法、绘图流程

在这里插入图片描述

1.创建画布与创建子图

第一部分主要作用是构建出一张空白的画布,并可以选择是否将整个画布划分为多个部分,方便在同一幅图上绘制多个图形的情况。最简单的绘图可以省略第一部分,而后直接在默认的画布上进行图形绘制。

2.添加画布内容

第二部分是绘图的主体部分。其中添加标题,坐标轴名称,绘制图形等步骤是并列的,没有先后顺序,可以先绘制图形,也可以先添加各类标签。但是添加图例一定要在绘制图形之后。
在这里插入图片描述在这里插入图片描述

3.保存与展示图形

  • 为什么保存的图片是空白的?
    请注意:保存一定要在显示图形的前面,否则,可能会出现保存的图片使空白的!
    在这里插入图片描述

2.1 具体应用

1、绘制散点图

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x) + np.random.random(len(x))
plt.scatter(x, y)
plt.show()

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x) + np.random.rand(100)

plt.rcParams['font.sans-serif'] = 'SimHei'  # 中文显示
plt.rcParams['axes.unicode_minus'] = False

plt.figure(figsize=(9, 5))
plt.title('sin散点')
plt.scatter(x, y)
plt.show()
  • 标题title(sin散点)无法正常显示怎么办?
    加入:
    plt.rcParams['font.sans-serif'] = 'SimHei' # 中文显示 plt.rcParams['axes.unicode_minus'] = False

2、折线图

x = np.linspace(0, 2*math.pi, 100)
y = np.sin(x) + np.random.random(len(x))
plt.scatter(x, y)
plt.plot(x, y, 'r')
plt.plot(x, np.sin(x)+0.5, 'g')
plt.show()

在这里插入图片描述
注意
如果为plot()命令提供单个列表或数组 ,matplotlib假定它是一系列y值,并自动为您生成x值。由于python范围以0开头,因此默认的x向量与y的长度相同,但以0开头。因此x数据为 [0,1,2,3]。

import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
plt.ylabel('some numbers')
plt.show()

在这里插入图片描述

3 柱状图

x = range(10)
np.random.seed(123)  
y1 = np.random.random(10)
y2 = np.random.random(10)

plt.bar(x, y1, facecolor='r')
plt.bar(x, -y2, facecolor='g')

for i, j in zip(x, y1):
    plt.text(i, j, '%.2f'%j, ha='center', va='bottom')
    
for i, j in zip(x, y2):
    plt.text(i, -j, '%.2f'%j, ha='center', va='top')

plt.title('$\pi$')    
    
plt.show()

在这里插入图片描述

4 饼图

z = np.ones(10)

plt.figure(figsize=(5, 5))
plt.pie(z, autopct='%.2f%%', explode=[0.1]+ [0]*9, labels=list('ABCDEFGHIJ'), labeldistance=1.1)
plt.show()

在这里插入图片描述

5 注释

  • text()上面基本命令的使用将文本放在Axes上的任意位置。文本的常见用途是注释绘图的某些功能,并且该 annotate()方法提供帮助功能以使注释变得容易。在注释中,有两点需要考虑:注释的位置由参数xy和文本的位置表示xytext。这两个参数都是(x,y)元组。
  • xy(箭头提示)和xytext 位置(文本位置)都在数据坐标中
    在这里插入图片描述

6 标题

# matplotlib在任何文本表达式中接受TeX方程表达式。编写一个由美元符号包围的TeX表达式。
plt.title(r'$\sigma_i=15$')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值