python画图之matplotlib基础快速入门

matplotlib是数据分析三剑客之一
其中需要理解figure(画布)、axes(坐标系)、axis(坐标轴)三个基本概念,画布就是创建一个画图的基本区域,
坐标系就是一个画布中分割为多个小的画图区域,称为坐标系(例如一个画布中可以同时放三张图),
而坐标轴就是具体每一个画图的小区域的x轴,y轴,z轴了。
以下代码部分来自公众号‘数据分析与统计学之美’,号主也是相当的厉害,还经常分享小福利,有需要的可以加他。

导入相关库
import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
# 排除警告信息
import warnings
warnings.filterwarnings("ignore")

# 打印版本信息
display(np.__version__)
display(pd.__version__)
display(mpl.__version__)

# matplotlib画图常见参数设置
mpl.rcParams["font.family"] = "SimHei" # 设置字体
mpl.rcParams["axes.unicode_minus"]=False # 用来正常显示负号
plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签

# 嵌入式显示图形
%matplotlib inline

画图示例
import matplotlib as mpl
import matplotlib.pyplot as plt

x= [i for i in range(20)]
y=[2*i+2 for i in range(20)]

# print(x)
# print(y)

plt.plot(x,y)
plt.show()

在这里插入图片描述

在一个画布中创建两个坐标系里画两张图,合并为一张图

import matplotlib as mpl
import matplotlib.pyplot as plt

figure = plt.figure()
# 获取每个位置的axes对象
axes1 = figure.add_subplot(2,1,1)
axes2 = figure.add_subplot(2,1,1)

axes1.plot([1,3,5,7],[4,9,6,8])
axes2.plot([1,2,4,5],[8,4,6,2])
figure.show()


这里其实可以直接这样,在一个坐标系里作两张图
plt.plot([1,3,5,7],[4,9,6,8])
plt.plot([1,2,4,5],[8,4,6,2])
plt.show()
效果跟上面是一样的

如图所示

在这里插入图片描述
在一个画布figure里面创建两个坐标系axes,分开作两张图

figure = plt.figure()
# 获取每个位置的axes对象
axes1 = figure.add_subplot(2,1,1)
axes2 = figure.add_subplot(2,1,2)
该函数的第一个参数代表子图的总行数,第二个参数代表子图的总列数,第三个参数代表活跃区域。

axes1.plot([1,3,5,7],[4,9,6,8])
axes2.plot([1,2,4,5],[8,4,6,2])
figure.show()
如图所示


在这里插入图片描述
抛物线绘图

import matplotlib as mpl
import matplotlib.pyplot as plt

x= [i for i in range(-10,10)]
y=[2*i*i+2 for i in range(-10,10)]

# print(x)
# print(y)

plt.plot(x,y)
plt.show()

在这里插入图片描述
也可以这样

import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-3,3,50)#-3,3中间50个点。
y1=2*x+1
y2=x**2
 
plt.figure(num=3,figsize=(8,5))#下面都是这张figure中的,编号,大小横轴,和纵轴,函数也可以显示在同一个图片中,
plt.plot(x, y2, color='black', linewidth=1.5, linestyle='--')  # 风格是虚线,线的的u宽度。颜色。
plt.plot(x, y1, color='red', linewidth=1.5)
plt.show()

#https://blog.csdn.net/abc13526222160/article/details/85264865

在这里插入图片描述
正弦函数绘图

x = np.linspace(0, 2 * np.pi, 50)
y = np.sin(x)
plt.plot(x, y)
plt.plot(x, y*2)
plt.show()

在这里插入图片描述

效果太美

x = np.linspace(0, 2 * np.pi, 50)
ax1 = plt.subplot(2, 2, 1) # (行,列,活跃区)
plt.plot(x, np.sin(x), 'r')

ax2 = plt.subplot(2, 2, 2, sharey=ax1) # 与 ax1 共享y轴
plt.plot(x, 2 * np.sin(x), 'g')

ax3 = plt.subplot(2, 2, 3)
plt.plot(x, np.cos(x), 'b')

ax4 = plt.subplot(2, 2, 4, sharey=ax3) # 与 ax3 共享y轴
plt.plot(x, 2 * np.cos(x), 'y')

plt.show()

#https://blog.csdn.net/csdnsevenn/article/details/82731538?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-3.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-3.nonecase

在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matplotlib是一个Python绘图库,它可以用于创建各种类型的图表,包括折线图、散点图、柱状图、饼图等。在本文中,我们将介绍如何使用Matplotlib绘制多个变量的图表。 首先,我们需要导入Matplotlib库和其他必要的库。以下是导入库的代码: ```python import matplotlib.pyplot as plt import numpy as np ``` 接下来,我们将生成一些随机数据来绘制图表。以下是生成数据的代码: ```python x = np.arange(1, 11) y1 = np.random.randint(1, 10, size=10) y2 = np.random.randint(1, 10, size=10) y3 = np.random.randint(1, 10, size=10) ``` 在这里,我们使用了NumPy库来生成随机的x和y值。我们现在有了三个变量,y1、y2和y3,它们都是由x生成的。 现在,我们可以使用Matplotlib来绘制这些变量的图表。以下是绘制图表的代码: ```python plt.plot(x, y1, label='y1') plt.plot(x, y2, label='y2') plt.plot(x, y3, label='y3') plt.legend() plt.show() ``` 在这里,我们使用了plt.plot()函数来绘制每个变量的线条。我们还使用了plt.legend()函数来创建一个图例,它将每个变量的标签与相应的线条关联起来。最后,我们使用plt.show()函数来显示图表。 运行上述代码,将得到一个包含三个变量的折线图,每个变量都有自己的标签。 除了折线图,Matplotlib还支持其他类型的图表,例如散点图、柱状图和饼图。要绘制这些类型的图表,您需要使用不同的函数和参数。请参考Matplotlib文档以获取更多信息。 希望这篇文章对您有所帮助,祝您在使用Matplotlib时愉快!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值