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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!