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。

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

实验4 Matplotlib数据可视化相关推荐

  1. 数据可视化实验:python数据可视化-柱状图,条形图,直方图,饼图,棒图,散点图,气泡图,雷达图,箱线图,折线图

    数据可视化实验:python数据可视化 实验8-12:大数据可视化工具-python 目录 1柱状图 2条形图 3直方图 4饼图 5棒图 6散点图 7气泡图 8雷达图 9箱线图 10折线图 1柱状图 ...

  2. R语言入门第四集 实验三:数据可视化

    R语言入门第四集 实验三:数据可视化 一.资源 [R语言]R语言数据可视化--东北大学大数据班R实训第三次作业 在r中rowsums_R语言初级教程(15): 矩阵(下篇) R语言环境变量的设置 环境 ...

  3. python如何读取mat文件可视化_python Matplotlib数据可视化(1):简单入门

    1 matplot入门指南 matplotlib是Python科学计算中使用最多的一个可视化库,功能丰富,提供了非常多的可视化方案,基本能够满足各种场景下的数据可视化需求.但功能丰富从另一方面来说也意 ...

  4. chart.js 饼图显示百分比_Python怎么画饼图?Matplotlib数据可视化004:饼图

    前文回看: [Python菜鸟进阶大神]Matplotlib数据可视化001:基础API汇总&散点图 [Python菜鸟进阶大神]Matplotlib数据可视化002:折线图 [Python菜 ...

  5. Python—实训day10—Matplotlib数据可视化和scikit-learn构建模型

    1.Matplotlib数据可视化基础 import matplotlib.pyplot as plt import numpy as np plt.rcParams['font.sans-serif ...

  6. 数据科学与python语言——Matplotlib数据可视化基础

    Matplotlib数据可视化基础 一.读取数据与数据处理阶段 1.提取指定行中的数据 2.得到>指定数值的数据 3.得到=指定值得数据 4.整体的数据处理: 二.画图函数 1.plt.subp ...

  7. matplotlib 数据可视化

    图的基本结构 通常,使用 numpy 组织数据, 使用 matplotlib API 进行数据图像绘制. 一幅数据图基本上包括如下结构: Data: 数据区,包括数据点.描绘形状 Axis: 坐标轴, ...

  8. [转载] Python数据分析之Matplotlib数据可视化实例

    参考链接: 使用Python进行数据分析和可视化2 Matplotlib数据可视化的应用实例 分析 :2000至2017年各季度国民生产总值数据  npy文件--numpy专用的二进制格式 np.lo ...

  9. Matplotlib数据可视化高级

    目录 前言 1.多图布局 1.1 子视图 1.2 嵌套 1.3 多图布局分格显示 1.3.1 均匀布局 1.3.2 不均匀分布 1.4 双轴显示 2.文本.注释.箭头 2.1 文本 2.2 箭头 2. ...

最新文章

  1. MySQL数据库中文模糊检索问题
  2. Adobe Creative Suite CS4/CS5 全系列注册机
  3. .NET弹出对话框小结
  4. 区分TTL、MSL、RTT
  5. SAP Kyma和Marketing Cloud的连接 - Marketing Cloud里的配置
  6. can收发器 rx_CANOpen系列教程03 _CAN收发器功能、原理及作用
  7. 方便快捷的php长文章分页函数,PHP长文章分页的一种实现方法
  8. 《高性能Linux服务器构建实战Ⅱ》一书纠错汇总(12月30日更新)
  9. 初识Git 如何使用Git将本地项目上传到Github
  10. stm32 SSI读编码器
  11. Windows 7下可以使用的虚拟光驱软件
  12. NPOI导出Excel自适应行高
  13. python爬取中央气象台台风网当前台风实况和预报数据
  14. TortoiseSVN是什么
  15. MySQl 表基本查询操作
  16. JIRA的安装、破解、汉化(适用于4.0.1、4.0.2、4.1.1版本
  17. Day2--正则表达式
  18. CIKM'2017 最佳论文鉴赏
  19. 2004-2020年全国31省环境规制强度
  20. 关注博主即可阅读全文

热门文章

  1. sas模拟试验构建线性模型_在sas上构建一个有角度的Web应用程序
  2. 网站测压机器人_压力测试工具(bots)
  3. 手把手讲解超详细python入门游戏项目‘打外星飞船’(五)
  4. E1696 命令行错误: 无法打开 元数据 文件 “platform.winmd” 使用Windows运行时扩展 出现这个问题解决思路
  5. 各国国旗知识学习,你认识多少,快来看看吧
  6. 巴西柔术_了解巴西手机游戏市场的5个关键
  7. 一建有什么刷题软件,怎么备考?
  8. Mac安装brew报错汇总
  9. 软件光盘制作教程之—菜鸟篇
  10. ae合成设置快捷键_教程|AE教程第三波:必须掌握的关键帧之基础设置