实验4 Matplotlib数据可视化

article/2025/10/1 3:50:16

1. 实验目的

①掌握Matplotlib绘图基础;
②运用Matplotlib,实现数据集的可视化;
③运用Pandas访问csv数据集。

2. 实验内容

①绘制散点图、直方图和折线图,对数据进行可视化;
②下载波士顿数房价据集,并绘制数据集中各个属性与房价之间的散点图,实现数据集可视化;
③使用Pandas访问鸢尾花数据集,对数据进行设置列标题、读取数据、显示统计信息、转化为Numpy数组等操作;并使用Matpoltlib对数据集进行可视化。

3. 实验过程

题目一:
这是一个商品房销售记录表,请根据表中的数据,按下列要求绘制散点图。其中横坐标为商品房面积,纵坐标为商品房价格。
在这里插入图片描述
要求:
(1)绘制散点图,数据点为红色圆点;
(2)标题为:“商品房销售记录”,字体颜色为蓝色,大小为16;
(3)横坐标标签为:“面积(平方米)”,纵坐标标签为“价格(万元)”,字体大小为14。

源代码

import numpy as np
import matplotlib.pyplot as plt#设置rc参数
plt.rcParams["font.family"] = "SimHei"#设置默认字体为中文黑体
plt.rcParams['axes.unicode_minus'] = False #坐标轴上负号的显示可能会出错
area = np.array([137.97,104.50,100.00,124.32,79.20,99.00,124.00,114.00,106.69,138.05,53.75,46.91,68.00,63.02,81.26,86.21])
price = np.array([145.00,110.00,93.00,116.00,65.32,104.00,118.00,91.00,62.00,133.00,51.00,45.00,78.50,69.65,75.69,95.30])plt.scatter(area,price,color = 'red')
plt.title("商品房销售记录",fontsize = "16",color = "blue")
plt.xlabel("面积(平方米)",fontsize = '14')
plt.ylabel("价格(万元)",fontsize = '14')plt.show()

在这里插入图片描述
题目二:
按下列要求完成程序。
(1)下载波士顿数据集,读取全部506条数据,放在NumPy数组x、y中(x:属性,y:标记);
(2)使用全部506条数据,实现波士顿房价数据集可视化,如图1所示;
(3)要求用户选择属性,如图2所示,根据用户的选择,输出对应属性的散点图,如图3所示
在这里插入图片描述

图1 波士顿房价数据集可视化图

请用户输入属性:
在这里插入图片描述

图2 属性选择图

运行结果:
在这里插入图片描述

图3 运行结果图
import tensorflow as tf
import matplotlib.pyplot as plt
import numpy as npboston_housing = tf.keras.datasets.boston_housing
(train_x, train_y), (test_x, test_y) = boston_housing.load_data(test_split=0)plt.rcParams['font.sans-serif'] = "SimHei"
plt.rcParams['axes.unicode_minus'] = Falsetitles = ["CRIM", "ZN", "INDUS", "CHAS", "NOX", "RM", "AGE", "DIS", "RAD", "TAX","PTRATIO", "B-1000", "LSTAT", "MEDV"
]plt.figure(figsize=(14, 14))for i in range(13):plt.subplot(4, 4, i + 1)plt.scatter(train_x[:, i], train_y)plt.xlabel(titles[i])plt.ylabel("Price($1000's)")plt.title(str(i + 1) + "." + titles[i] + " - Price")plt.tight_layout(rect=[0, 0, 1, 0.95])
plt.suptitle("各个属性与房价的关系", x=0.5, y=0.98, fontsize=20)
plt.show()plt.close()print("请输入所选择的属性")
print( "1--CRIM\n", "2--ZN\n", "3--INDUS\n", "4--CHAS\n", "5--NOX\n", "6--RM\n", "7--AGE\n", "8--DIS\n", "9--RAD\n", "10--TAX\n","11--PTRATIO\n", "12--B-1000\n", "13--LSTAT\n", "14--MEDV")
n = int(input())
sc = titles[i - 1] + "Price($1000's)"
plt.figure(figsize=(5,5))
plt.scatter(train_x[:,i-1],train_y)
plt.xlabel(titles[i - 1])
plt.ylabel("Price($1000's)")
plt.title(sc)
plt.show()

在这里插入图片描述
在这里插入图片描述

题目三:
使用鸢尾花数据集,绘制如下图形,其中对角线为属性的直方图。
在这里插入图片描述

提示:绘制直方图函数 plt.hist(x, align= ‘mid’, color, edgecolor)

import tensorflow as tf
import matplotlib.pyplot as plt
import numpy as np
import pandas as pdTRAIN_URL = "http://download.tensorflow.org/data/iris_training.csv"
train_path = tf.keras.utils.get_file(TRAIN_URL.split('/')[-1],TRAIN_URL)#设置列标题
COLUMN_NAMES = ['SepalLEngth', 'SePalWidth', 'PetalLength', 'PetalWidth', 'Species'
]
#下载鸢尾花数据集,并设置列标题
dr_iris = pd.read_csv(train_path, names=COLUMN_NAMES, header=0)iris = np.array(dr_iris)fig = plt.figure(figsize=(15, 15))fig.suptitle("Anderson's Iris Data Set\n(Bule->Setosa | Red->Versicolor | Green->Virginica)"
)
for i in range(4):for j in range(4):plt.subplot(4, 4, 4 * i + (j + 1))if (i == j):plt.hist(iris[:, j], align='mid')else:plt.scatter(iris[:, j], iris[:, i], c=iris[:, 4], cmap='brg')plt.title(COLUMN_NAMES[j])  # 横坐标标签使用子图标题来实现plt.ylabel(COLUMN_NAMES[i])plt.tight_layout(rect=[0, 0, 1, 0.93])plt.show()

在这里插入图片描述

4.实验小结&讨论题

① 实验过程中遇到了哪些问题,你是如何解决的?
没有熟悉使用pycharm,询问了同学。

② 根据题目二的数据进行可视化结果,分析波士顿数据集中各个属性对房价的影响。
占地面积与房价大致呈线性相关。

③ Numpy和Pandas各有什么特点和优势?在应用中应如何选择?
Pandas拥有Numpy一些没有的方法,例如describe函数。其主要区别是:Numpy就像增强版的List,而Pandas就像列表和字典的合集,Pandas有索引。Pandas有两种结构,分别是Series和DataFrame。其中Series拥有Numpy的所有功能,可以认为是简单的一维数组;而DataFrame是将多个Series按列合并而成的二维数据结构,每一列单独取出来是一个Series。

④ 在题目基本要求的基础上,你对每个题目做了那些扩展和提升?或者你觉得在编程实现过程中,还有哪些地方可以进行优化?
完全按照题目的要求来做的。


http://chatgpt.dhexx.cn/article/ZwFSrNY9.shtml

相关文章

数据可视化-期末复习重点笔记

文章目录 前言一、绘制常见图形。1.1 sinx、cosx曲线图1.2 散点图1.2.1通过matplotlib实现1.2.2通过pyecharts实现 1.3 柱形图1.3.1通过matplotlib实现1.3.2通过pyecharts实现 1.4 柱形堆叠图1.4.1通过matplotlib实现1.4.2通过pyecharts实现 1.5 折线图1.6 拟合曲线1.7 堆叠面积…

【独家】一文读懂数据可视化

前言 数据可视化,是指将相对晦涩的的数据通过可视的、交互的方式进行展示,从而形象、直观地表达数据蕴含的信息和规律。 早期的数据可视化作为咨询机构、金融企业的专业工具,其应用领域较为单一,应用形态较为保守。步入大数据时代,各行各业对数据的重视程度与日俱增,随之…

4.2 数据可视化

一、 数据可视化介绍 1. 概念 数据可视化:是指以 图形、图像、地图、动画 等更为生动、易于理解的方式展现具体数据,诠释数据之间的关系和发展的趋势,以期更好地理解和使用数据。 大数据可视化分析利用支持信息可视化的用户界面以及支持分…

一图胜千言!这10种可视化技术你必须知道

全文共4549字,预计学习时长9分钟 图片来源:Willian Justen deVasconcellos on Unsplash 相比于浩如烟海的数据表格,大部分人还是更喜欢视觉资料,这一点已不足为奇。也是出于这个原因,人们通常才会在学术论文的前几页加上一张图表,并且清楚地标记上各种注释。 当数据科学家…

谷歌浏览器输入网址显示该网页无法正常运作

谷歌浏览器 是一款大家喜爱使用的浏览器,它为我们的生活提供了便捷, 可是,不少朋友还不知道怎么解决谷歌浏览器无法打开网页的问题 具体如下: 首先,请大家找到电脑中的“谷歌浏览器”,点击进入主界面&…

谷歌浏览器无法上网,其他浏览器正常,换chrome搜索引擎

谷歌浏览器无法上网,其他浏览器正常,第一种情况:打开代理设置,开启自动检测设置,重新打卡浏览器 情况二:打开windows注册表,删除配置,重启浏览器不废话,上图 情况三&…

chrome谷歌浏览器通过小米路由器访问网页一会儿后显示:无法访问Internet

近一个月,出现了chrome浏览器国内的网页也没法打开了,使用其他浏览器就能正常使用,比如:Edge。 家里宽带上使用的是小米路由器,用chrome访问网站出现如下截图: 经过网上查找相关资料,结合实践配…

一招搞定谷歌搜索、谷歌学术无法訪问的问题

近期,谷歌搜索、谷歌学术“突然”无法訪问了?我百思不得其解啊,禁不住想问一下:前辈们。你们这是要如何?我们写个论文easy吗?怒火燃尽,言归正传,事实上要解决问题也是非常easy的,原理不赘述。直接上菜。下面谨代表个人意见,大仙们有好的方法记得留言共享讨论。谢谢。…

解决Chrome中打不开Google搜索结果链接

由于Google的搜索结果都要经过Google跳转(Safari上视乎没有跳转,可以直接进入结果页面),默认跳转使用未加密的HTTP连接,经常被我国GFW拦截,导致无法打开Google搜索结果! 解决办法是,…

关于chrome浏览器地址和不能搜索访问的问题

正版的chrome浏览器地址 这里别下载错,我就是重装电脑之后下载chrome浏览器然后发现是盗版本的。正版地址:https://www.google.cn/intl/zh-CN/chrome/ 浏览器默认下载地址最好改为除C盘以外的盘,避免C盘以后爆满,在设置里面改。 不能搜索…

Google chrome谷歌浏览器,打开后是百度搜索或其他搜索怎么办?

如果遇到Google浏览器打开后是百度或者其他浏览器,说明我们在谷歌浏览器的设置有问题,只需要下面简单的操作就可以完成替换。 setting-on start-open a specific page or set of a page,在下面的框中手动敲入www.google.com就欧克了

搜索引擎突然无法访问问题

1.winR键运行 2.输入 inetcpl.cpl 打开 3.点击上方的高级 点击下面重置 勾选删除个人配置 4.最后重启

实用技巧:Google 搜索打不开的解决方法【图文教程】

很多人都喜欢用 Google 搜索,但自从 Google 服务器搬离中国大陆后,大陆用户用 Google 搜索时会自动跳转到 google.com.hk,不仅莫名其妙的关键字被过滤,而且经常出现“无法显示此网页”,相当悲催。 大家比较熟悉的解决方…

股票机械交易系统

最近有一个想法就是开发一个股票机械的交易系统,利用网格法去操作,没有半点人的感情。大家有什么想法可以和我交流,也可以提出您的宝贵意见。

Python +Echarts +PyQt5设计股票期货自动交易系统 一、软件界面设计

效果图: 1、python下 使用Qt Designer创建一个窗体 这里选择创建Main Window窗体 得到可视化可编辑窗体。 2、创建布局 每个界面采用Frame控件进行布局,以方便后期显示与隐藏,整体布局中将左侧与顶部位置空出来用于插入侧边菜单栏和顶栏。

Python +Echarts +PyQt5设计股票期货自动交易系统 二、软件界面响应(一)

Python +Echarts +PyQt5设计股票期货自动交易系统 二、软件界面响应 效果图: 上一章《 Python +Echarts +PyQt5设计股票期货自动交易系统 一、软件界面设计 》中我们进行了基本的界面样式、布局、和基础内容设计,其中布局部分包含了四大模块,即: 1、行情模块 (1)、行…

金融信息化及交易管理系统(股票交易系统APP)

目 录 1 绪 论 1 1.1 选题背景及意义 1 1.2 研究现状 1 1.3 研究主要内容 4 2 需求分析与实施方案 5 2.1 虚拟金融信息化交易系统的功能 5 2.2 可行性分析 5 2.3 系统开发技术 5 2.4 系统开发工具及环境 6 2.5 系统开发方式 7 3 需求分析 8 3.1 系统结构 8 3.2 系统描述 9 3.2.…

同花顺股票自动交易

本文转载自: http://www.cnblogs.com/lovebanyi/archive/2012/01/17/2324997.html 作者:lovebanyi 转载请注明该声明。 由于大部分的券商没有提供交易接口。只对顶级的一些机构或大公司提供接口。所以普通的股民大部分是没有办法享受到一些自动化交易的…

A股全自动化交易——从零到实盘20(完结)

本文是“从零到实盘”系列的最后一篇文章,将介绍实现全自动实盘交易的最后一个步骤,即实现定时更新股票数据任务。 schedule模块安装 我们使用schedule来实现定时任务,首先需要安装schedule模块,在终端中输入以下命令安装&#…

自动交易股票接口开发的关键是什么?

小编认为自动交易股票接口软件的开发的关键是要知道券商的股票交易接口,但是出于安全的考虑,券商对外是不公开股票交易接口。但是我们自己是无法开发股票自动交易软件的开发。不过,现在很多券商都提供了证券独立委托系统。如果我们利用券商都…