matplotlib数据可视化

  • 导入绘图库
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import os
  • 读取数据(数据来源是一个EXCLE表格,这里演示的是如何将数据可视化出来)
os.chdir(r'E:\jupyter\数据挖掘\数据与代码')
df = pd.read_csv('air_data.csv',na_values= '--') 

1.折线图

  • plt.plot(x,y,ls=,lw=,c=,marker=,markersize=,markeredgecolor=,markerfacecolor, label=)

  • x: x轴上的数值

  • y: y轴上的数值

  • ls- -函数线条风格(=‘-’ 实线, ‘–’ 虚线 ,‘-.’ 点划线 ,‘:’ 实点线)

  • lw: 线条宽度

  • c: 颜色

  • marker: 线条上点的形状, 常用为’o’,即圆点形状

  • markersize: 线条上点的形状

  • markeredgecolor: 点的边框色

  • markerfacecolor: 点的填充色

# 绘制观察窗口内的飞行次数和观测窗口内的总飞行里程数
# 支持中文显示
plt.rcParams['font.sans-serif']=['SimHei']# 字体
plt.rcParams['axes.unicode_minus']=False
x=np.linspace(0,10,100)
y=np.sin(x)
plt.plot(x,y,ls='-',lw=2,marker='o',markersize=5,c='red',markeredgecolor='black',markerfacecolor='lightskyblue')
plt.show()

image.png

2.直方图

  • hist:数据
  • bins:组距
  • color:填充色
  • edgecolor:边框色
  • density:是否绘制成概率密度形式
  • xlabel:横坐标
  • ylabel:纵坐标
  • labelpad/pad:离坐标轴的距离
# 绘制年龄的分布情况
plt.hist(x=df['AGE'],bins=30,color='r',edgecolor='black',density=True) # density=True 代表是否绘制概率密度形式
plt.xlabel('客户年龄',fontsize=15,labelpad=20)
plt.ylabel('频数',fontsize=15,labelpad=20)
plt.title('年龄分布图',fontsize=15,pad=20)
plt.show()

image.png

3.箱线图

  • plt.boxplot(x,notch,sym,vert,whis,position,widths,patch_artist,meanline,showmeans, boxprops,labels,flierprops)

  • x: 数据

  • 宽度:宽度

  • patch_artist: 是否填充箱体颜色

  • meanline:是否显示均值

  • showmeans: 是否显示均值

  • meanprops;设置均值属性,如点的大小,颜色等

  • medianprops:设置中位数的属性,如线的类型,大小等

  • showfliers: 是否表示有异常值

  • boxprops:设置箱体的属性,边框色和填充色

  • cappops: 设置箱线顶端和末端线条的属性,如颜色,粗细等

age=df[df['AGE'].notnull()]['AGE'] # 剔除年龄的空值
plt.boxplot(x=age,patch_artist=True,boxprops={'color':'red'})
plt.show()

image.png

4.柱状图

# 将字符型数据转换date格式
df['FFP_DATE']=pd.to_datetime(df['FFP_DATE'],format='%Y/%m/%d',errors='coerce') # errors 避免报错
data=df['FFP_DATE'].dt.year.value_counts()
x_data=data.index
y_data=data.values
plt.bar(x=x_data,height=y_data,align='center',color='y',tick_label=x_data)
plt.title('不同年份的会员数量',pad=5)
plt.show()

image.png

5.饼图

  • autopct:设置百分比的格式
data=df['GENDER'].value_counts()
# 绘制饼图
plt.pie(x=data.values,labels=data.index,colors=['lightskyblue','lightcoral'],autopct='%.1f%%')
plt.show()

image.png

6.散点图

# 飞行次数与总飞行公里数的关系
plt.scatter(x=df['FLIGHT_COUNT'],y=df['SEG_KM_SUM'],color='steelblue',marker='o',s=100)
plt.title('飞行次数与总飞行公里数的关系')
plt.show()

image.png

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一个可实验完整代码。 一、实验目的和要求 1、 使用API函数编制包含各种资源的Windows应用程序; 2、 实现Windows应用程序对键盘与鼠标的响应。 二、实验内容 : 1、问题描述: 创建一个菜单,其中有三个菜单项,分别为“文件”、“计算”和“帮助”,其中,“文件”菜单项包含“打开”、“保存”、“画图”、“退出”等菜单选项;“计算”菜单包含“总和”、“方差”、“均方根”等菜单选项;“帮助”菜单项包含“计算总和帮助”、“计算方差帮助”和“计算均方根帮助”以及“关于”等项 。 若单击“画图”菜单项,则绘出P103图形。 若在用户区内按下鼠标左键,则动态创建一个包括“删除计算总和”、“添加计算平均值”和“修改计算均方差”三个菜单项的弹出式菜单,由此菜单控制“计算”菜单中菜单项删除、添加与修改。(要求新的弹出式菜单开始时不可用,按下右键后变为可用。) 单击“修改计算均方差”菜单项后,“计算”菜单下的“计算均方差”项改为“线性拟合”,单击“添加计算平均值”菜单项后,“计算”菜单中添加上了“计算平均值”菜单项 。 将光标设定为自己名字中的某个字、图标设定为自己名字中的另一个字。 2、应用程序中所用到的资源、消息,简介主要函数的功能; 3、程序实现 4、操作结果
好的,下面是一个简单的例子,假设我们有一个名为"example.csv"的csv文件,其中包含了4个数值型变量(列)和10个观测值(行),我们可以按照以下步骤进行PCA分析并绘图。 1. 导入必要的库 ```python import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.decomposition import PCA ``` 2. 读取csv文件 ```python data = pd.read_csv("example.csv") ``` 3. 数据预处理 PCA要求数据的均值为0,方差为1,因此我们需要对数据进行标准处理。 ```python # 标准处理 data_scaled = StandardScaler().fit_transform(data) ``` 4. 进行PCA分析 ```python pca = PCA(n_components=2) pca_data = pca.fit_transform(data_scaled) ``` 5. 绘制PCA分析结果图 ```python plt.figure(figsize=(8,6)) plt.scatter(pca_data[:,0], pca_data[:,1], c='blue') plt.xlabel('First Principal Component') plt.ylabel('Second Principal Component') plt.show() ``` 这里我们选择前两个主成分来进行可展示,可以看到,数据已经被成功地降维到了二维空间中。 完整代码如下: ```python import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.decomposition import PCA from sklearn.preprocessing import StandardScaler # 读取csv文件 data = pd.read_csv("example.csv") # 标准处理 data_scaled = StandardScaler().fit_transform(data) # 进行PCA分析 pca = PCA(n_components=2) pca_data = pca.fit_transform(data_scaled) # 绘制PCA分析结果图 plt.figure(figsize=(8,6)) plt.scatter(pca_data[:,0], pca_data[:,1], c='blue') plt.xlabel('First Principal Component') plt.ylabel('Second Principal Component') plt.show() ``` 希望能对你有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值