学习笔记整理-大数据算法解析3-Matplotlib

一、基本绘画流程

bb8320850503489da0002cb799f5ec3d.png

 1、创建画布和子图

构建一张空白的画布,可以选择画布划分多个部分。

p1 = plt.figure(figsize=(8,6), dpi=80)  # 确定画布大小
ax1 = p1.add_subplot(2, 1, 1)  # 创建一个两行1列的子图,并开始绘制第一幅

函数名称

函数作用

plt.figure

创建一个空白画布,可以指定画布大小,像素。

figure.add_subplot

创建并选中子图,可以指定子图的行数,列数,与选中图片编号。

 2、添加画布内容

函数名称

函数作用

plt.title

在图形中添加标题,可指定标题的名称、位置、颜色、字体大小等参数。

plt.xlabel

在当前图形中添加x轴名称,可以指定位置、颜色、字体大小等参数。

plt.ylabel

在当前图形中添加y轴名称,可以指定位置、颜色、字体大小等参数。

plt.xlim

指定当前图形x轴的范围,只能确定一个数值区间,而无法使用字符串标识。

plt.ylim

指定当前图形y轴的范围,只能确定一个数值区间,而无法使用字符串标识。

plt.xticks

指定x轴刻度的数目与取值。

plt.yticks

指定y轴刻度的数目与取值。

plt.legend

指定当前图形的图例,可以指定图例的大小、位置、标签。

import matplotlib
import numpy as np
import matplotlib.pyplot as plt
data1=np.arange(0,6.2,0.2)
p1=plt.figure(figsize=(10,8),dpi=80)
ax1=p1.add_subplot(2,1,1)
plt.title("xylines")
plt.xlabel("x")
plt.ylabel("y")
plt.xlim((0,2))
plt.ylim((0,2))
plt.xticks([0,0.5,1,1.5,2])
plt.yticks(([0,0.2,0.4,0.6,0.8,1,1.2,1.4,1.6,1.8,2]))
plt.plot(data1,data1**3)
plt.plot(data1,data1**6)
plt.legend(["y=x^3","y=x^6"])

data2=np.arange(0,3.5,0.5)
ax2=p1.add_subplot(2,1,2)
plt.title("y=ax+b")
plt.xlabel("rad1")
plt.ylabel("y")
plt.xlim((0,3))
plt.ylim((0,10))
plt.xticks([0,0.5,1,1.5,2,2.5,3])
plt.yticks(([1,2,3,4,5,6,7,8,9,10]))
plt.plot(data2,data2*3+1)
plt.plot(data2,data2*2+3)
plt.legend(["rad1*3+1","rad1*2+3"])
plt.show()

 76565aff73894058b0e75a7e84b7c193.png

 3、绘制图形

①plot折线图

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

参数名称

说明

xy

接收array。表示x轴和y轴对应的数据。无默认。

color

接收特定string。指定线条的颜色。默认为None

linestyle

接收特定string。指定线条类型。默认为“-”。

marker

接收特定string。表示绘制的点的类型。默认为None

alpha

接收0-1的小数。表示点的透明度。默认为None

颜色缩写

代表的颜色

颜色缩写

代表的颜色

b

蓝色

m

品红

g

绿色

y

黄色

r

红色

k

黑色

c

青色

w

白色

 ②bar柱状图

matplotlib.pyplot.bar(left,height,width = 0.8,bottom = None,hold = None,data = None,** kwargs )

参数名称

说明

left

接收array。表示x轴数据。无默认。

height

接收array。表示x轴所代表数据的数量。无默认。

width

接收0-1之间的float。指定直方图宽度。默认为0.8

color

接收特定string或者包含颜色字符串的array。表示直方图颜色。默认为None

import matplotlib
import matplotlib.pyplot as plt
x=[3,9,5,12,7]
y=[2,11,7,4,8]
plt.bar(x,y)
plt.show()

29915dec5f584063b85e4524cc50dcfb.png

③scatter散点图

matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, alpha=None, **kwargs)

参数名称

说明

xy

接收array。表示x轴和y轴对应的数据。无默认。

s

接收数值或者一维的array。指定点的大小,若传入一维array则表示每个点的大小。默认为None

c

接收颜色或者一维的array。指定点的颜色,若传入一维array则表示每个点的颜色。默认为None

marker

接收特定string。表示绘制的点的类型。默认为None

alpha

接收0-1的小数。表示点的透明度。默认为None

 ④pie饼状图

matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, … )

参数名称

说明

参数名称

说明

x

接收array。表示用于绘制撇的数据。无默认。

autopct

接收特定string。指定数值的显示方式。默认为None

explode

接收array。表示指定项离饼图圆心为n个半径。默认为None

pctdistance

接收float。指定每一项的比例和距离饼图圆心n个半径。默认为0.6

labels

接收array。指定每一项的名称。默认为None

labeldistance

接收float。指定每一项的名称和距离饼图圆心多少个半径。默认为1.1

color

接收特定string或者包含颜色字符串的array。表示饼图颜色。默认为None

radius

接收float表示饼图半径,默认1

import numpy as np
import  matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'  # 设置中文显示
labels=['空调','电视','冰箱','微波炉','热水器','洗衣机']
data=[5000,7000,6000,1000,4000,3000]
plt.pie(data,labels=labels,autopct='%1.1f%%')
plt.title("各电器第一季度销售图")
plt.show()

4973260e4c1442989e851db9932b5102.png

⑤boxplot箱线图

matplotlib.pyplot.boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None, widths=None, patch_artist=None,meanline=None, labels=None, … )

参数名称

说明

参数名称

说明

x

接收array。表示用于绘制箱线图的数据。无默认。

positions

接收array。表示图形位置。默认为None

notch

接收boolean。表示中间箱体是否有缺口。默认为None

widths

接收scalar或者array。表示每个箱体的宽度。默认为None

sym

接收特定sting。指定异常点形状。默认为None

labels

接收array。指定每一个箱线图的标签。默认为None

vert

接收boolean。表示图形是横向纵向或者横向。默认为None

meanline

接收boolean。表示是否显示均值线。默认为False

import numpy as np
import matplotlib.pyplot as plt
# 生成五十个标准正态分布随机数
data=np.random.normal(size=50,loc=0,scale=1)
plt.boxplot(data,sym='*',whis=0.1)
plt.show()

e75207dbe46642c3a83ee0dba497a9a5.png

4、保存或展示图片

函数名称

函数作用

plt.savefig

保存绘制的图片,可以指定图片的分辨率、边缘的颜色等参数。

plt.show

在本机显示图形。

 二、设置pyplot动态的rc参数

使用rc配置文件来定义图形的各种默认属性,例如视图窗口大小,每英寸点数,线条宽度颜色样式,坐标轴,坐标,网格属性,文本,字体等等。

plt.rcParams['font.sans-serif'] = 'SimHei'  #设置中文显示
plt.rcParams['axes.unicode_minus'] = False #正常显示负号
plt.rcParams['lines.linewidth'] = 5 #设置线条宽度
plt.rcParams['lines.color'] = 'red' #设置线条颜色
plt.rcParams['lines.linestyle'] = '-' #设置线条样式

rc参数名称

解释

取值

lines.linewidth

线条宽度

0-10之间的数值,默认为1.5

lines.linestyle

线条样式

可取“-”“--”“-.”“:”四种。默认为“-”。

lines.marker

线条上点的形状

取“o”“D”“h”“.”“,

S”等20种,默认为None

lines.markersize

点的大小

0-10之间的数值,默认为1

linestyle取值

意义

linestyle取值

意义

-

实线

-.

点线

--

长虚线

:

短虚线

marker取值

意义

marker取值

意义

‘o’

圆圈

‘.’

‘D’

菱形

‘s’

正方形

‘h’

六边形1

‘*’

星号

‘H’

六边形2

‘d’

小菱形

‘-’

水平线

‘v’

一角朝下的三角形

‘8’

八边形

‘<’

一角朝左的三角形

‘p’

五边形

‘>’

一角朝右的三角形

‘,’

像素

‘^’

一角朝上的三角形

‘+’

加号

‘\’

竖线

‘None’

‘x’

X

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Aure_xl

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

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

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

打赏作者

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

抵扣说明:

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

余额充值