python可视化模块_python之可视化Matplotlib模块

本文详细介绍了Python的Matplotlib库,包括曲线图、直方图、条形图、饼图和散点图的绘制方法。通过实例展示了如何设置颜色、线型、点型、网格线和坐标轴属性,以及如何保存图像。此外,还简单介绍了使用sklearn进行线性回归的步骤,并绘制了回归曲线。
摘要由CSDN通过智能技术生成

本文要讲的是Matplotlib,一个强大的Python可视化库。通过模块,轻松实现曲线图、散点图、折线图、直方图、柱状图、饼图等。

一、曲线图

绘制单条曲线:

x = [1,2,3,4,5,6,7,8,9,10]

y = [10,9,8,7,6,5,4,3,2,1]

plt.plot(x,y)

注意:y,x轴的值必须为数字

绘制抛物线:

x = np.arange(-np.pi,np.pi,0.1)

y = x**2

plt.plot(x,y)

绘制正弦曲线图:

x = np.linspace(-np.pi,np.pi,100)

y = np.sin(x)

plt.plot(x,y)

包含多个曲线的图:

1、连续调用多次plot函数

plt.plot(x,y)

plt.plot(x+2,y+2)

2、也可以在一个plot函数中传入多对X,Y值,在一个图中绘制多个曲线

plt.plot(x,y,x-1,y+1)

plt.subplot(row,col,loc)

将多个曲线图绘制在一个table区域中:对象形式创建表图

a=plt.subplot(row,col,loc) 创建曲线图 rol col可以决定table的大小

a.plot(x,y) 绘制曲线图

屏幕快照 2018-11-07 下午5.44.30.png

网格线 plt.grid(XXX)

参数:

axis:轴向

color:支持十六进制颜色

linestyle: -- -. :样式

alpha:透明度

使用plt绘制:

plt.plot(x,y)

plt.grid(color='red',linestyle=':',alpha=0.5)

使用对象形式设置网格:

ax = plt.subplot(111)

ax.plot(x,y)

ax.grid(linestyle='--')

设置坐标轴界限

axis方法:设置x,y轴刻度值的范围

plt.axis([xmin,xmax,ymin,ymax])

关闭坐标轴

plt.axis('off')

设置画布比例:plt.figure(figsize=(a,b)) a:x刻度比例 b:y刻度比例 (2:1)表示x刻度显示为y刻度显示的2倍

plt的xlabel方法、ylabel方法、 title方法

参数介绍:

s 标签内容

color 标签颜色

fontsize 字体大小

rotation 旋转角度

对象方法set_xlabel/ylabel()

图例

legend方法

两种传参方法:

1.分别在plot函数中增加label参数,再调用plt.legend()方法显示

plt.plot(x,label='AAA')

plt.legend()

2.直接在legend方法中传入字符串列表

put.plot(x)

plt.plot(y)

plt.legend(['BBB','AAA'])

legend的参数

loc参数:

loc参数用于设置图例标签的位置,一般在legend函数内

matplotlib已经预定义好几种数字表示的位置

ncol参数:

ncol控制图例中有几列,在legend中设置ncol

图像保存:

使用figure对象的savefig函数来保存图片

fig = plt.figure()---必须放置在绘图操作之前

figure.savefig的参数选项:

filename:

含有文件路径的字符串或Python的文件型对象。图像格式由文件扩展名推断得出,例如,.pdf推断出PDF,.png推断出PNG (“png”、“pdf”、“svg”、“ps”、“eps”……)

dpi:

图像分辨率(每英寸点数),默认为100

facecolor

打开保存图片查看 图像的背景色,默认为“w”(白色)

设置plot的风格和样式:

plot语句中支持除X,Y以外的参数,以字符串形式存在,来控制颜色、线型、点型等要素,语法形式为:

plt.plot(X, Y, 'format', ...)

-- 颜色

参数color或c

-- 透明度

alpha参数

-- 线型

参数linestyle或ls

-- 线宽

linewidth或lw参数

-- 点型

marker 设置点形

markersize 设置点形大小

二、直方图

plt.hist(x):

是一个特殊的柱状图,又叫做密度图。

【直方图的参数只有一个x!!!不像条形图需要传入x,y】

plt.hist()的参数

bins

直方图的柱数,可选项,默认为10

color

指定直方图的颜色。可以是单一颜色值或颜色的序列。如果指定了多个数据集合,例如DataFrame对象,颜色序列将会设置为相同的顺序。如果未指定,将会使用一个默认的线条颜色

orientation

通过设置orientation为horizontal创建水平直方图。默认值为vertical

三、条形图

plt.bar(x,y):

plt.bar()垂直条形图

参数:第一个参数是索引。第二个参数是数据值。第三个参数是条形的宽度。

条形图有两个参数x,y

width 纵向设置条形宽度

height 横向设置条形高度

plt.barh()水平条形图

四、饼图

plt.pie(x)

饼图也只有一个数据参数x

饼图适合展示各部分占总体的比例,条形图适合比较各部分的大小

饼图阴影、分裂等属性设置

labels参数设置每一块的标签;

labeldistance参数设置标签距离圆心的距离(比例值)

autopct参数设置比例值小数保留位(%.3f%%);

pctdistance参数设置比例值文字距离圆心的距离

explode参数设置每一块顶点距圆心的长度(比例值,列表);

colors参数设置每一块的颜色(列表);

shadow参数为布尔值,设置是否绘制阴影

startangle参数设置饼图起始角度

五、散点图

scatter(x,y)

散点图:因变量随自变量而变化的大致趋势

散点图需要两个参数x,y,但此时x不是表示x轴的刻度,而是每个点的横坐标!

plt.scatter(x,y,marker='d',c="rbgy") 设置不同的散点颜色

六、简单了解机器学习实现线性回归

导入sklearn,建立线性回归算法模型对象

from sklearn.linear_model import LinearRegression

linear = LinearRegression()

样本集:用于对机器学习算法模型对象进行训练。样本集通常为一个DataFrame。

特征数据:特征数据的变化会影响目标数据的变化。必须为多列。

目标数据:结果。通常为一列。

使用样本数据对模型进行训练

linear.fit(near_citys_dist.reshape(-1,1),near_citys_max_temp)

对模型进行精准度的评分

linear.score(near_citys_dist.reshape(-1,1),near_citys_max_temp)

使用模型进行预测

x = np.array([65,44,12,99]).reshape(-1,1)

linear.predict(x)

绘制回归曲线

x = np.linspace(0,100,num=100)

y = linear.predict(x.reshape(-1,1))

plt.scatter(x,y)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值