Matplotlib、Pandas可视化工具

2023-12-27 09:59:03

一、Matplotlib

1.简介:

  • 数据可视化可以看到变量的分布和变量之间的关系,还可以检查建模过程中的假设。
  • Python 提供了若干种用于绘图的扩展包,包括:Matplotlib、 Pandas、 ggplot 和 Seaborn等。
  • Matplotlib 是最基础的扩展包,它为 Pandas 和 Seaborn 等其他可视化包提供了一些基础的绘图概念和语法。
  • 通过Matplotlib,开发者可以仅需要几行代码,便可以生成绘图。一般可绘制折线图、散点图、柱状图、饼图、直方图、子图等。

2.安装:

在Service中输入:pip install matplotlib 自动导入

3.导包:

import matplotlib.pyplot as plt
或
form matplotlib import pyplot as plt

4.使用方法:

import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(1,50,100)     #定义x数据范围
y=3*x+1
plt.figure()                #定义一个图像窗口
plt.plot(x,y)               #plot()画出曲线
plt.show()                  #显示图像

'''
plt.figure()为单独图像窗口,语法如下:
figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, ……)
1.num:可选参数。窗口的属性id,即该窗口的身份标识。如果不提供该参数,则创建窗口的时候该参数会自增,如果提供的话则该窗口会以该num为Id存在。
2.figsize:可选参数。整数元组,默认是无。提供整数元组则会以该元组为长宽。
3.dpi:可选参数,整数。表示该窗口的分辨率。
4.facecolor:可选参数,表示窗口的背景颜色,如果没有提供则默认为figure.facecolor。颜色的设置是通过RGB,范围是'#000000'~'#FFFFFF'。
5.edgecolor:可选参数,表示窗口的边框颜色
'''

在这里插入图片描述

#1.xlim和ylim定义坐标轴的上下限,xlabel和ylabel定义坐标轴的名称。
plt.xlim(-2,4)
plt.ylim(-5,15)
plt.xlabel("I'm x")
plt.ylabel("I'm y")
#2.xticks和yticks为定义坐标轴刻度
plt.xticks(new_ticks)
plt.yticks([-5,0,5,10,15],['very bad','bad','normal','good','very good'])
#3.linewidth:线条宽度,取值0-10之间,默认是1.5 linestyle:线条样式,可取“-”,“--”,“-.”,“:”四种,默认为“-”
plt.plot(x,y,linestyle='--',linewidth=2)
#4.图例:
plt.plot(x,y2,label='y2=x^2')

二、Pandas

1.简介:

  • Pandas是一个非常强大的数据分析工具包,同时集成了数据可视化的功能, pandas中的可视化功能比plt更加简便和功能强大。

2.使用方法:

  • plot()方法是pandas绘图的高级绘图函数,可通过kind的设定,绘制出各类图形,其语法如下:
DataFrame.plot(x=None, y=None, kind='line', ax=None, subplots=False,sharex=None, sharey=False, layout=None, figsize=None, use_index=True, title=None, grid=None, legend=True, style=None, logx=False, logy=False, loglog=False, xticks=None, yticks=None, xlim=None, ylim=None, rot=None, fontsize=None, colormap=None, table=False, yerr=None, xerr=None, secondary_y=False, sort_columns=False, **kwds)
'''
x: 做为x轴的参数
y: 做y的属性
kind: 代表所做图形的类别,其可选参数为: ‘line’,‘bar’,‘barh’,‘hist’,‘box’,‘kde’,‘density’,‘area’,‘pie’,‘scatter’,‘hexbin’等
ax: 轴对象,默认使用gca()
subplots: boolean  每列单独做子图
sharex: boolean 是否共享x轴
sharey:    boolean 是否共享y轴
layout : tuple  表示子图的布局
figsize : 以英寸为单位的元组(宽,高)
use_index:  使用index作为x轴的刻度
title: 字符串或列表  做图的标题
grid:是否显示网格线
legend: 是否显示图例
style: 每列的样式
logx,logy: 在x,y轴上使用对数缩放
xticks,yticks: x,y轴标签
xlim,ylim: x,y轴刻度限制
rot:旋转刻度
fontsize: xticks和yticks的字体大小
colormap: 用于选择颜色
colorbar: 如果为True,则绘制colorbar(仅与'scatter'和'hexbin'图相关)
position: 指定条形图布局相对齐
table: 如果为True,则使用DataFrame中的数据绘制表格,并且数据将被转置以满足matplotlib的默认布局。 如果传递了Series或DataFrame,则使用传递的数据绘制表。
yerr ,xerr带误差线的柱形图
stacked: 在线条和条形图,以及区域图中的True。 如果为True,则创建堆积图。
sort_columns: 对列名进行排序
secondary_y: 是否绘制辅助y轴
mark_right: 使用辅助y轴时,图例中使用right标记列标签
'''
  • Pandas数据结构:
    在这里插入图片描述
#根据数据画图
import pandas as pd
import matplotlib.pyplot as plt

d_dict = {'A':['1','2','3'],'B':[4,5,6],'C':[7,8,9],'D':[10,11,12]}
index_name = ['a','b','c']
df = pd.DataFrame(data=d_dict,index=index_name)

print(df)

df.plot(kind='bar')
plt.show()

print(df.loc['b','B'])#b行B列元素
print(df.loc[['b','c']])#b行和c行元素
print(df.loc[:,['B','C']])#B列和C列元素

#确认一个卷积核,然后对应点相乘,6*6矩阵和3*3卷积核形成4*4矩阵

在这里插入图片描述

三、Sklearn

1.简介:

进行函数预测

2.使用方法:

#根据数据构建线性方程
import matplotlib.pyplot as plt
import numpy as np
from sklearn.linear_model import LinearRegression

x=[4000,8000,5000,10000,12000]
y=[20000,50000,30000,70000,60000]

plt.figure()
plt.scatter(x,y)
plt.show()

lr = LinearRegression()

x = np.array(x).reshape(-1,1)#多少行不管设-1,列设为1

model = lr.fit(x,y)
#预测函数:y=ax+b
print(model.coef_)#a
print(model.intercept_)#b

在这里插入图片描述

文章来源:https://blog.csdn.net/m0_53881899/article/details/135235709
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。