视觉化数据的艺术:掌握Matplotlib基础绘图

Matplotlib基础绘图


1.基础流程

1.导入模块。绘图之前,需要先导入包含相应函数的模块。
2.创建画布与创建子图。第一部分主要是构建出一张空白的画布,如果需要同时展示几个图形,可将画布划分为多个部分。然后使用对象方法来完成其余的工作,示例如下。

plt.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)

num:图像编号(数字)或名称(字符串),可以通过这个参数来激活不同的画布
figsize:画布的宽和高,单位:英寸
dpi:指定绘图对象的分辨率,每英寸包含多少个像素,像素越大,画布越大,默认值为80
facecolor:背景颜色
edgecolor:边框颜色
frameon:是否显示边框,True:绘制边框(默认值)

3.添加画布内容。第二部分是绘图的主体部分。一个图形可以包含任意数量的轴,但通常至少有一个,每个轴都可以设置一个轴标签。常见的是二维坐标轴,即包含 X 轴(横轴)和 Y 轴(纵轴), 轴上可以设置刻度标签。使用 Matplotlib 模块画坐标图时, 往往需要对坐标轴设置很多参数, 这些参数包括横纵 坐标轴范围、坐标轴刻度大小、坐标轴名称等
添加标题、坐标轴名称等步骤与绘制图形是并列的,没有先后顺序,可以先绘制图形,也可以先添加各类标签,但是添加图例一定要在绘制图形之后。pyplot模块中添加各类标签和图例的函数如下表所示。
在这里插入图片描述
4.图形保存与展示。绘制图形之后,可使用matplotlib.pyplot.savefig()函数保存图片到指定路径,使用matplotlib.pyplot.show()函数展示图形。


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

2.绘图设置

最基本的绘图函数是绘制曲线函数plot。
plot(y)%绘制以y为纵坐标的二维曲线
plot(x,y)%绘制以x为横坐标y为纵坐标的二维曲线
plot(x1,y1,x2,y2…) %在同一窗口绘制多条二维曲线
说明:x和y可以是实数向量或矩阵,也可以是复数向量或矩阵。

颜色设置:(color)
在这里插入图片描述
线条样式:(linestyle)
在这里插入图片描述
标记样式:(marker)
在这里插入图片描述

设置坐标轴(x轴:xlabel,y轴:ylabel)
x轴语法:

matplotlib.pyplot.xlabel(xlabel, fontdict=None,labelpad=None,**kwargs)

xlabel:标签文本。并且包含字符串值
y轴语法:

matplotlib.pyplot.ylabel(ylabel, fontdict=None,labelpad=None,**kwargs)

ylabel:标签文本。并且包含字符串值

中文乱码问题的解决方法:

matplotlib.pyplot.rcParams['font.sans-serif'] = ['SimHei']

负号不显示问题的解决方法:

plt.rcParams['axes.unicode_minus'] = False

坐标轴刻度(x轴:xticks,y轴:yticks)

x轴语法:

matplotlib.pyplot.xticks(locs,[labels],**kwargs)

y轴语法:

matplotlib.pyplot.yticks(locs,[labels],**kwargs)

坐标轴范围(x轴:xlim,y轴:ylim)

matplotlib.pyplot.xlim(1,10) 
matplotlib.pyplot.ylim(1,10)

网格线(grid)

matplotlib.pyplot.grid()

添加文本标签(text)

matplotlib.pyplot.text(x,y,s,fontdict=None,withdash=False,**kwargs)

设置标题(title)

matplotlib.pyplot.title(label,fontdict=None,loc='center',pad=None,**kwargs)

设置图例(legend)

matplotlib.pyplot.legend(*args, **kwargs)

调整图表与画布边缘间距(subplots_adjust)

matplotlib.pyplot.subplots_adjust(left=None,bottom=None,right=None,top=None,wspace=None,hspace=None)

left,bottom,right,top:调整上下左右的空白,left和bottom值越小,空白越小,right和top,值越大,空白越小(画布是从左下角开始,取值0~1)

x,y轴刻度线显示方向语法:

matplotlib.pyplot.rcParams['xtick.direction'] = 'in' matplotlib.pyplot.rcParams['ytick.direction'] = 'in'

参数说明:

direction:将刻度置于坐标轴内、轴外,或同时置于两者 ‘,{‘in’, ‘out’, ‘inout’}可选,默认 ‘out’

3.动态rc参数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.pyplot的基础图表函数

1.折线图 plot()
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.散点图 scatter()
在这里插入图片描述
在这里插入图片描述
3.直方图 hist()
在这里插入图片描述
在这里插入图片描述
4.条形图 bar()
在这里插入图片描述
在这里插入图片描述
5.饼图 pie()
在这里插入图片描述
在这里插入图片描述
6.面积图 stackplot()

matplotlib.pyplot.stackplot(x,,*args,data=None,**kwags)

7.热力图 imshow()

matplotlib.pyplot.imshow(X, cmap=None, norm=None, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, shape=None, filternorm=True, filterrad=4.0, imlim=None, resample=None, url=None, *, data=None, **kwargs)

X: 要显示的图像或数组。
cmap: 颜色映射,默认为None。可以是特定颜色映射的字符串名称,也可以是matplotlib.colors.Colormap 实例。
norm:用于将数据值标准化到 0-1 范围内的 matplotlib.colors.Normalize 实例,默认为None
aspect:表示图像的纵横比,如 ‘equal’, ‘auto’ 或一个数字,默认为None
interpolation: 图像显示时使用的插值算法,默认为None。常用的插值方法有 ‘nearest’,‘bilinear’, ‘bicubic’, 'spline16’ 等。
alpha:(0-1 之间的数值)图像的透明度,默认为 None

8.箱线图 boxplot()
在这里插入图片描述
在这里插入图片描述

计算方法:
1).数据集:7,36,15,39,41,40
2).按从小到大的顺序对数据集进行排列:7,15,36,39,40,41
3)确定四分位数索引位置的根据公式:1+(n-1)*数据的百分比分位点,在根据索引位置确定索引所对应的数据值(n是数据集的数量 n=6)·
Q1_position=1+(6-1)0.25=2.25 (Q1在第二个数和第三个数之间)
Q1_value=15+(36-15)
(2.25-2)=20.25·
Q2_position=1+(6-1)0.5=3.5 (Q2在第三个数和第四个数之间)
·Q2_value=36+(39-36)
(3.5-3)=37.5
·Q3_position=1+(6-1)0.75=4.75 (Q3在第四个数和第五个数之间)·
Q3_value=39+(40-39)
(4.75-4)=39.75·
上限=39.75+(39.75-20.25)1.5=69·
下限=20.25-(39.75-20.25)1.5=-9
极端异常值:
·极端上限:上限=Q3+3
(Q3-Q1)·
极端下限:下限=Q1-3
(Q3-Q1)·
极端异常值的判定标准:当变量的数据值大于极端上限或小于极端下限时,判定为极端异常值

9.三维柱形图 axes3d.bar()

mpl_toolkits.mplot3d.axes3d.bar(left, height, zs=0, zdir=‘z’, *args, **kwargs) 

参数说明:
left:x轴数据集
height:柱子的高度
zs:z轴的数据集
zdir:可选参数{‘x’, ‘y’, ‘z’}, 默认: ‘z’

绘制多个子图表
使用matplotlib.pyplot.subplots 函数

matplotlib.pyplot.subplots(nrows=1, ncols=1, *, sharex=False, sharey=False, squeeze=True,width_ratios=None, height_ratios=None,subplot_kw=None, gridspec_kw=None, **fig_kw)

参数说明:
nrows,ncols:将画布分成几行几列
sharex,sharey:表示坐标轴的属性是否相同
subplot_kw:把字典的关键字传递给add_subplot来创建每个子图
gridspec_kw:把字典的关键字传递给GridSpec构造函数创建网格区域
fig_kw:把所有详细的关键字参数传给figure


安利

Seaborn库:Seaborn属于Matplotlib的一个高级接口,使得作图更加容易。在多数情况下使用Seaborn能做出很具吸引力的图,而使用Matplotlib可以制作具有更多特色的图。应该把Seaborn视为Matplotlib的补充,而不是替代物
Seaborn官网
在这里插入图片描述

  • 19
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 很好的问题,Python有很多数据可视工具,比如Matplotlib、Seaborn、Plotly等,可以根据数据类型和需求选择不同的工具。你可以通过这些工具绘制各种类型的图表,比如柱状图、折线图、散点图等,有效地展示数据分析结果。 ### 回答2: Python数据可视分析是一种利用Python编程语言进行数据可视的方法。在数据分析和数据科学领域,数据可视是非常重要的,它可以帮助我们更好地理解和传达数据的信息。 Python提供了多种数据可视的工具和库,如Matplotlib、Seaborn、Plotly等。这些工具能够以各种图表形式来展示数据,如折线图、柱状图、散点图、饼图等。 通过Python数据可视分析,我们可以更直观地看到数据之间的关系和趋势。比如,我们可以使用折线图来展示时间序列数据的变,这样可以更清楚地看到数据的趋势和波动。柱状图可以用来显示不同类别的数据的大小比较,帮助我们识别出重要的因素。 除了一些基本的图表类型,Python数据可视还可以帮助我们创建更高级和复杂的可视效果。我们可以使用热力图、气泡图、3D图等来展示更多的数据维度和关系。 Python数据可视的优势还在于它的灵活性和易用性。Python提供了丰富的可视库和工具,可以方便快捷地创建各种图表和图形。此外,Python还可以与其他数据分析和机器学习工具进行集成,进一步提高数据可视和分析的效率和效果。 总而言之,Python数据可视分析是一种强大的工具,可以帮助我们更好地理解和传达数据的信息。无论是数据科学家、数据分析师还是普通用户,都可以通过Python数据可视来发现数据背后的规律和洞察,并进行更准确和有效的决策。 ### 回答3: Python数据可视分析是指利用Python编程语言中的数据可视库和工具来展示和分析数据数据可视是将数据通过视觉方式呈现的过程,通过图表、图形和地图等形式,直观地展示数据的特点、关系和趋势,方便数据的理解和决策。 Python拥有丰富的数据可视库,其中最受欢迎的是Matplotlib、Seaborn和Plotly等。MatplotlibPython中最常用的绘图库,提供了可以制作各种类型图表的函数和类。Seaborn是一个基于Matplotlib的高级绘图库,提供了更加美观和精确的统计图表。Plotly则是一个交互式数据可视库,可以创建互动式图表和可嵌入的在线图表。 Python数据可视分析的流程一般包括以下几个步骤: 1. 导入必要的库,如Matplotlib或Seaborn。 2. 准备数据。可以通过读取外部文件、数据库查询或API请求等方式获取数据,并进行预处理和清洗。 3. 选择合适的图表类型。根据数据类型和分析目的选择适合的图表类型,如折线图、柱状图、散点图、饼图等。 4. 设定图表参数。根据需求设定图表的标题、坐标轴标签、颜色等参数。 5. 绘制和展示图表。调用绘图函数将数据可视展示,并在需要时进行样式调整。 6. 进行数据分析。根据图表的展示结果进行数据分析,发现数据的规律、异常和趋势等。 7. 根据分析结果进行决策。根据数据分析结果,进行业务决策或针对数据异常进行后续处理。 Python数据可视分析具有简单易用、灵活性高和可扩展性的优势,适用于各种领域的数据分析任务,如市场调研、金融分析、医疗数据分析等。同时,Python社区也提供了丰富的教程和实例,方便初学者入门和快速上手。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小伍_Five

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值