下图是要用到的数据集,反映了从1984到2016年的失业率的变化

 1.导入可视化模块import matlibplot.pyplot as plt, 函数plt.plot(x, y)确定折线图的点,x是由这些点的x坐标组成的列表,y是由这些点的y坐标组成

的列表。plt.show()显示图像,plt.xlabel()给x轴命名,plt.xticks()可以设置x坐标刻度点旋转指定角度,plt.title()给折线图命名

  下面的代码是以上函数的应用

 import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
#画出1984年失业率折线图
unrated = pd.read_csv("C:/学习/python/hello/UNRATE.csv")
first_twelve = unrated.head() x_series = first_twelve["DATE"]
y_series = first_twelve["VALUE"] plt.xticks(rotation=)
plt.xlabel("Month")
plt.ylabel("Unemployment rate") plt.title("Unemployment rate trends on 1984") plt.plot(x_series, y_series)
plt.show()

  运行结果如下

2.通过plt.subplot(n, m, x)在一个figure中添加多个子图, n和m表示子图的布局,分别代表行数和列数,x表示从左往右,从上往下数的第x个子图

下面的代码提供了该函数使用实例

 import pandas as pd
import numpy as np
import matplotlib.pyplot as plt plt.figure(figsize=(, ))
ax1 = plt.subplot(, , )
ax2 = plt.subplot(, , )
ax3 = plt.subplot(, , )
ax5 = plt.subplot(, , )
plt.show()

运行结果如下

3.下面的代码是在一个坐标轴中画多个折线图的示例

 import pandas as pd
import numpy as np
import matplotlib.pyplot as plt unrated = pd.read_csv("C:/学习/python/hello/UNRATE.csv")
unrated["DATE"] = pd.to_datetime(unrated["DATE"])
color = ["red", "yellow", "blue", "green", "purple"]
plt.figure(figsize=(, ))
for i in range():
sub_unrated = unrated.loc[i*:(i+)*-]
sub_unrated_x = sub_unrated['DATE'].dt.month
sub_unrated_y = sub_unrated["VALUE"]
label = +i
plt.plot(sub_unrated_x, sub_unrated_y, color=color[i], label=label)
plt.legend(loc="best")
plt.show()

运行结果如下

4.figure和subplot的定义顺序决定了subplot是画在哪个figure中。当代码中定义了多个figure时候,紧接着该figure定义的subplot才画在该figure中,

如下代码所示,定义了figure1和figure2,ax1和ax2在figure1中,ax在figure2中。

 plt.figure(figsize=(, ))
ax1 = plt.subplot(,,)
plt.figure(figsize=(, ))
ax = plt.subplot(, , ) plt.show()

5.用matplotlib画条形图

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt reviews = pd.read_csv("C:/学习/python/hello/fandango_score_comparison.csv")
cols = ["FILM", "RT_user_norm", "Metacritic_user_nom", "IMDB_norm", "Fandango_Ratingvalue", "Fandango_Stars"]
norm_reviews = reviews[cols] num_cols = ["RT_user_norm", "Metacritic_user_nom", "IMDB_norm", "Fandango_Ratingvalue", "Fandango_Stars"]
bar_height = norm_reviews.loc[0, num_cols].values #第一部电影的评价,注意利用loc索引某一行的用法,可以添加第二维 bar_position = 1 + np.arange(5) #arange返回的是ndarray类型,range返回的是list类,使用arange需要用numpy
plt.figure(figsize=(10, 10))
ax = plt.subplot(1, 1, 1)
ax.bar(bar_position, bar_height, 0.3) #bar_position是条形图的x坐标(中点坐标),bar_height是高,0.3是宽
#设置x坐标刻度
tick_positions = range(1, 6)
ax.set_xticks(tick_positions)
ax.set_xticklabels(num_cols) #设置x轴和y轴名称
ax.set_xlabel("Rating Source")
ax.set_ylabel("Average Rating")
ax.set_title("Whatever")
plt.show()

运行结果如下

  将上面的代码改变几处,就会成为横着的条形图了。代码如下所示(改动之处用白底红字加粗下划线标出来了)

 import pandas as pd
import numpy as np
import matplotlib.pyplot as plt reviews = pd.read_csv("C:/学习/python/hello/fandango_score_comparison.csv")
cols = ["FILM", "RT_user_norm", "Metacritic_user_nom", "IMDB_norm", "Fandango_Ratingvalue", "Fandango_Stars"]
norm_reviews = reviews[cols] num_cols = ["RT_user_norm", "Metacritic_user_nom", "IMDB_norm", "Fandango_Ratingvalue", "Fandango_Stars"]
bar_height = norm_reviews.loc[, num_cols].values #第一部电影的评价,注意利用loc索引某一行的用法,可以添加第二维 bar_position = + np.arange() #arange返回的是ndarray类型,range返回的是list类,使用arange需要用numpy
plt.figure(figsize=(, ))
ax = plt.subplot(, , )
ax.barh(bar_position, bar_height, 0.3) #bar_position是条形图的x坐标(中点坐标),bar_height是高,.3是宽
#设置x坐标刻度
tick_positions = range(, )
ax.set_yticks(tick_positions)
ax.set_yticklabels(num_cols) #设置x轴和y轴名称
ax.set_ylabel("Rating Source")
ax.set_xlabel("Average Rating")
ax.set_title("Whatever")
plt.show()

运行结果如下

6.画散点图

 import pandas as pd
import numpy as np
import matplotlib.pyplot as plt reviews = pd.read_csv("C:/学习/python/hello/fandango_score_comparison.csv")
plt.figure(figsize=(,))
ax = plt.subplot(, , )
ax.scatter(reviews["RT_norm"], reviews["Metacritic_user_nom"])
plt.show()

运行结果如下

7.设a是Series类型,b = a.value_counts()可以得到a的一个频数统计,b是Series结构,b的index是a的值,b的value是该值出现的频数。

如下代码所示

 import pandas as pd
import numpy as np
import matplotlib.pyplot as plt reviews = pd.read_csv("C:/学习/python/hello/fandango_score_comparison.csv")
cols = ["FILM", "RT_user_norm", "Metacritic_user_nom", "Fandango_Ratingvalue"]
norm_reviews = reviews[cols]
#fandango_distribution是Series结构,index是原来的列的值,value是该值出现的频率
fandango_distribution = norm_reviews["Fandango_Ratingvalue"].value_counts()
print(fandango_distribution.head())
print(type(fandango_distribution))
print(fandango_distribution.index)

运行结果如下

8.我们来画直方图

 import pandas as pd
import numpy as np
import matplotlib.pyplot as plt reviews = pd.read_csv("C:/学习/python/hello/fandango_score_comparison.csv")
cols = ["FILM", "RT_user_norm", "Metacritic_user_nom","IMDB_norm", "Fandango_Ratingvalue"]
norm_reviews = reviews[cols]
plt.figure(figsize=(, ))
ax = plt.subplot(, , )
ax.hist(norm_reviews["RT_user_norm"], bins=) #参数bins表示直方图的x轴分成多少区间 plt.show()

运行结果如下

用matplotlib对数据可视化的更多相关文章

  1. matplotlib实现数据可视化

    一篇matplotlib库的学习博文.matplotlib对于数据可视化非常重要,它完全封装了MatLab的所有API,在python的环境下和Python的语法一起使用更是相得益彰. 一.库的安装和 ...

  2. 基于matplotlib的数据可视化 - 笔记

    1 基本绘图 在plot()函数中只有x,y两个量时. import numpy as np import matplotlib.pyplot as plt # 生成曲线上各个点的x,y坐标,然后用一 ...

  3. 【Matplotlib】数据可视化实例分析

    数据可视化实例分析 作者:白宁超 2017年7月19日09:09:07 摘要:数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息.但是,这并不就意味着数据可视化就一定因为要实现其功能用途而令 ...

  4. 使用 jupyter-notebook + python + matplotlib 进行数据可视化

    上次用 python 脚本中定期查询数据库,监视订单变化,将时间与处理完成订单的数量进行输入写入日志,虽然省掉了人为定时查看数据库并记录的操作,但是数据不进行分析只是数据,要让数据活起来! 为了方便看 ...

  5. 基于matplotlib的数据可视化 - 等高线 contour 与 contourf

    contour 与contourf 是绘制等高线的利器. contour  - 绘制等高线 contourf - 填充等高线 两个的返回值值是一样的(return values are the sam ...

  6. 『Matplotlib』数据可视化专项

    一.相关知识 官网介绍 matplotlib API 相关博客 matplotlib绘图基础 漂亮插图demo 使用seaborn绘制漂亮的热度图 fig, ax = plt.subplots(2,2 ...

  7. 基于matplotlib的数据可视化 - 饼状图pie

    绘制饼状图的基本语法 创建数组 x 的饼图,每个楔形的面积由 x / sum(x) 决定: 若 sum(x) < 1,则 x 数组不会被标准化,x 值即为楔形区域面积占比.注意,该种情况会出现 ...

  8. 基于matplotlib的数据可视化 - 热图imshow

    热图: Display an image on the axes. 可以用来比较两个矩阵的相似程度 mp.imshow(z, cmap=颜色映射,origin=垂直轴向) imshow( X, cma ...

  9. 基于matplotlib的数据可视化 -

    matplotlib.pyplot(as mp or as plt)提供基于python语言的绘图函数 引用方式: import matplotlib.pyplot as mp / as plt 本章 ...

  10. Python学习笔记:Matplotlib(数据可视化)

    Matplotlib是一个可以将数据绘制为图形表示的Python三方库,包括线性图(折线图,函数图).柱形图.饼图等基础而直观的图形,在平常的开发当中需要绘图时就非常有用了. 安装:pip insta ...

随机推荐

  1. preg_match 与 preg_match_all 函数示例详解

    正则表达式在 PHP 中的应用 在 PHP 应用中,正则表达式主要用于: 正则匹配:根据正则表达式匹配相应的内容 正则替换:根据正则表达式匹配内容并替换 正则分割:根据正则表达式分割字符串 在 PHP ...

  2. java多线程面试题整理及答案

    1) 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器编程,你可以使用多线程对 运算密集型任务提速.比如,如果一个线程完 ...

  3. Ubuntu打开中文输入法

    方法/步骤: 1.从system settings 进入language support 在keyboard input method system 中选择 ibus (这里以ibus为例) 然后cl ...

  4. 解决bootstrap下的图片自适应问题

    .img-responsive { display: block; height: auto; max-width: 100%; }

  5. 【CF461B】Appleman and Tree

    题目大意:给定一棵 N 个节点的有根树,1 号节点为根节点,每个点有两种颜色(黑.白),现给出树上每个节点的颜色,求有多少种分割树的方式,使得分割出的每个联通块中有且仅有一个黑点. 题解:树形dp 由 ...

  6. 误删除mysql的root账号

    误删除mysql的root账号 mysql 测试通过 # mysql 误删除root最高权限用户 操作步骤: .停止mysql服务 (如果你删除了root用户,但没有退出操作对话框,恭喜节省了些麻烦, ...

  7. 【NOIP2016提高A组集训第3场10.31】高维宇宙

    题解 分析 因为只有奇数和偶数配对才有可能得出质数, 暴力求出每一对\(a_i+a_j\)为质数,将其中的奇数想偶数连一条边. 二分图匹配,匈牙利算法. #include <cmath> ...

  8. Codeforces 960F Pathwalks ( LIS && 树状数组 )

    题意 : 给出若干个边,每条边按照给出的顺序编号,问你找到一条最长的边权以及边的编号同时严格升序的一条路径,要使得这条路径包含的边尽可能多,最后输出边的条数 分析 :  这题和 LIS 很相似,不同的 ...

  9. Thymeleaf 1-入门与基本概述

    一.概述 1.是什么 简单说, Thymeleaf 是一个跟 Velocity.FreeMarker 类似的模板引擎,它可以完全替代 JSP . 2.feature 1.Thymeleaf 在有网络和 ...

  10. struts2.3.20+spring4.0.2+hibernate4.3.4框架整合

    一.创建web工程,搭建Struts框架开发环境: 这里只导入了项目中所需要的重要的jar包,以后根据业务要求继续导入相关的包. 步骤1::导入struts框架所需的jar包 步骤2:在web.xml ...