python matplotlib数据可视化_Python - matplotlib 数据可视化_weixin_39531594的博客-程序员ITS301

技术标签: python matplotlib数据可视化  

2  图和子图的建立

2.1  导入matplotlib

import matplotlib.pyplot as plt

import numpy as np

2.2  建立图和子图方式一

plt.plot( )会在最近的一个图上进行绘制

from numpy.random import randn

fig = plt.figure(figsize = (8,4)) #设置图的大小

ax1 = fig.add_subplot(2,2,1)

ax2 = fig.add_subplot(2,2,2)

ax3 = fig.add_subplot(2,1,2)

ax3.plot(randn(50).cumsum(),'k--') # plt.plot(randn(50).cumsum(),'k--')等效

ax1.hist(randn(100),bins = 10, color = 'b', alpha = 0.3) #bins 分成多少间隔 alpha 透明度

ax2.scatter(np.arange(30),np.arange(30) + 3*randn(30))

plt.show()

2.3 建立子图方式二

from numpy.random import randn

fig, axes = plt.subplots(2,2) #以数组方式访问

t = np.arange(0., 5., 0.2)

axes[0,0].plot(t, t, 'r-o', t, t**2, 'bs', t, t**3, 'g^') #同时绘制多条曲线

axes[1,1].plot(randn(40).cumsum(),'b--')

plt.show()

2.4 主题设置

使用style.use()函数

df_iris = pd.read_csv('../input/iris.csv')

plt.style.use('ggplot') #'fivethirtyeight','ggplot','dark_background','bmh'

df_iris.hist('sepal length')

plt.show()

3  颜色、标记、线型、刻度、标签和图例

from numpy.random import randn

fig = plt.figure()

ax1 = fig.add_subplot(1,1,1)

ax1.plot(randn(30).cumsum(),color = 'b',linestyle = '--',marker = 'o',label = '$cumsum$') # 线型 可以直接'k--o'

ax1.set_xlim(10,25)

ax1.set_title('My first plot')

ax1.set_xlabel('Stages')

plt.legend(loc = 'best') #把图放在不碍事的地方 xticks([])设置刻度

plt.show()

等价于下面的代码:

from numpy.random import randn

fig = plt.figure()

ax1 = fig.add_subplot(1,1,1)

ax1.plot(randn(30).cumsum(),color = 'b',linestyle = '--',marker = 'o',label = '$cumsum$') #图标可以使用latex内嵌公式

plt.xlim(10,25) #plt.axis([10,25,0,10])对x,y轴范围同时进行设置

plt.title('My first plot')

plt.xlabel('Stages')

plt.legend(loc = 'best')

plt.show()

4  pandas中的绘图函数

在pandas中,我们具有行标签,列标签以及分组信息。这也就是说,要制作一张完整的图表,原本需要一大堆的matplotlib代码,现在只需一两条简洁的语句就可以了。

pandas有很多能够利用DataFrame对象数据组织特点来创建标准图表的高级绘图方法。

4.1  线型图

from numpy.random import randn

fig, axes = plt.subplots(1,2)

s = pd.Series(randn(10).cumsum(),index = np.arange(0,100,10))

s.plot(ax = axes[0]) # ax参数选择子图

df = pd.DataFrame(randn(10,3).cumsum(0),columns = ['A','B','C'],index = np.arange(0,100,10))

df.plot(ax = axes[1])

plt.show()

4.2 柱状图

from numpy.random import rand

fig, axes = plt.subplots(1,2)

data = pd.Series(rand(16),index = list('abcdefghijklmnop'))

data.plot(kind = 'bar', ax = axes[0], color = 'b', alpha = 0.7) #kind选择图表类型 'bar' 垂直柱状图

data.plot(kind = 'barh', ax = axes[1], color = 'b', alpha = 0.7) # 'barh' 水平柱状图

plt.show()

from numpy.random import rand

fig, axes = plt.subplots(1,2)

data = pd.DataFrame(rand(6,4),

index = ['one','two','three','four','five','six'],

columns = pd.Index(['A','B','C','D'], name = 'Genus'))

data.plot(kind = 'bar', ax = axes[0], alpha = 0.5)

data.plot(kind = 'bar', ax = axes[1], stacked = True, alpha = 0.5)

plt.show()

此外,柱状图有一个非常不错的用法,利用value_counts( )图形化显示Series中各值的出现概率,比如s.value_counts( ).plot(kind = 'bar')。

4.3 直方图和密度图

from numpy.random import randn

fig, axes = plt.subplots(1,2)

data = pd.Series(randn(100))

data.hist(ax = axes[0], bins = 50) #直方图

data.plot(kind = 'kde', ax = axes[1]) #密度图

plt.show()

其实可以一次性制作多个直方图,layout参数的意思是将两个图分成两行一列,如果没有这个参数,默认会将全部的图放在同一行。

df_iris = pd.read_csv('../input/iris.csv')

columns = ['sepal length','sepal width','petal length','petal width']

df_iris.hist(column=columns, layout=(2,2))

plt.show()

4.4 箱型图

箱型图是基于五数概括法(最小值,第一个四分位数,第一个四分位数(中位数),第三个四分位数,最大值)的数据的一个图形汇总,还需要用到四分位数间距IQR = 第三个四分位数 - 第一个四分位数。

df_iris = pd.read_csv('../input/iris.csv') #['sepal length','sepal width','petal length','petal width','class']

sample_size = df_iris[['petal width','class']]

sample_size.boxplot(by='class')

plt.xticks(rotation=90) #将X轴的坐标文字旋转90度,垂直显示

plt.show()

5  参考资料链接

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39531594/article/details/110759528

智能推荐

配置shell脚本定期清理集群日志和监控数据,并对清理完Cloudera Management Service的监控数据后的问题解决_TokinMa的博客-程序员ITS301_cloudera management service

配置shell脚本定期清理集群日志和监控数据,并对清理完Cloudera Management Service的监控数据后的问题解决清理日志和监控数据的shell脚本#配置shell自动删除#!/bin/bash# 清理日志cd /var/log/hadoop-mapreducerm -rf *.out.* rm -rf *.log.*cd /var/log/hadoop-hdfsrm -rf *.out.* rm -rf *.log.*cd /var/log/zookeeperrm

CentOS下安装及使用宝塔面板_普通网友的博客-程序员ITS301

大家好,我是中国码农 摘星人。大型网站程序都安装在服务器上,服务器用的是 Linux 系统,进行服务器维护需要记住很多 Linux 的命令,这就很麻烦。宝塔面板的好处,就是通过可视化界面管理云服务器,一个交互界面就能完成服务器的维护工作,比如更新系统,添加网站,修改设置等等。今天笔者带来《 CentOS 下安装及使用宝塔面板》,欢迎分享/收藏/赞/在看!使用 SSH 连接工具,如堡塔 SSH 终端连接到 Linux 服务器后,挂载磁盘,根据系统执行相应命令开始安装(大约2分钟完成面板安装)Centos安装

使用genieacs -- TR069模糊查询设备信息_阿杰杰1314的博客-程序员ITS301_genieacs 使用

使用genieacs -- TR069模糊查询设备信息http://localhost:7557/devices/?query={"_id": "*202BC1-BM632w-000000*"}注意在查询字段前后加上星号 * 即可结果

【爱思考】CISP证书有效期是几年,到期后怎么办_powertime_cn的博客-程序员ITS301_cisppte证书到期后怎么办

CISP证书有效期是几年——CISP即注册信息安全专业人员,系国家对信息安全人员资质的最高认可系经中国信息安全测评中心实施国家认证。是面向信息安全企业、信息安全咨询服务机构、信息安全测评机构、政府机构、社会各组织、团体、大专院校以及企事业单位中负责信息系统建设、运行维护和管理工作的信息安全专业人员所颁发的专业注册证书。目前,持证人员约30000人。深受国家政府党政机关、金融、通信、电力、国防、军工、交通、烟草、税务、等行业的广泛认可。CISP证书有效期是几年——其实CISP证书有效期为3年。3年到期后应该

SpringBoot发送邮件验证码_STAR_TOWER的博客-程序员ITS301

欢迎关注我的博客StarTower小站一、邮件协议SMTPSMTP是一种提供可靠且有效的电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知。SMTP独立于特定的传输子系统,且只需要可靠有序的数据流信道支持,SMTP的重要特性之一是其能跨越网络传输邮件,即“SMTP邮件中继”。使用SMTP,可实现相同网络处理进程之间的邮...

pytest+pycharm环境配置_yt1318519610的博客-程序员ITS301

1.cmd中输入pip install -U pytest,安装pytest2.cmd中输入pytest --version,查看pytest版本信息3.打开pycharm,进入setting页4.编写demo,执行查看效果备注:1.环境配置过程中执行demo出现“Please select a valid Python interpreter”解决方案...

随便推点

ISE联合modelsim功能仿真和综合后仿真_weixin_34138056的博客-程序员ITS301

1、代码输入(1)、新建一个ISE工程,名字为count4。(2)、新建一个verilog文件(3)、选择verilog module 输入file name为count4,单击next默认知道finish。(4)、在count4.v文件中输入以下代码module count4(out,reset,clk    );                output [3:0] ou...

CNKI网页爬虫_青天白云飞的博客-程序员ITS301

刚接触Python一周时间,写了一个CNKI爬虫,可爬取论文题目、作者、期刊名称、摘要等。如果安装有mysql数据库,可将爬取记录保存至数据库中。零基础纯小白一个,代码贴出来主要是为了交流学习。# CNKI爬虫 -- 版本4.0 可实现单页面的搜索,显示题目、作者、期刊、摘要,可翻页;修复摘要显示不全的问题;可将数据存储进MySQL数据库# # !usr/bin/env python3# -...

如何了解cs通讯方式_你好,世界! 每个CS学生应该了解的第一份工作_danpoxiang7784的博客-程序员ITS301

如何了解cs通讯方式 任何与招聘入门级技术专业人员有关的人员(或在Reddit的cscareerquestions论坛上阅读帖子的人 )都知道,学校正在为学生做好如何在行业中工作的准备,但通常对在行业中找到工作的准备不足。 。 两者之间有很大的不同,许多应届毕业生在同等甚至更低学历的同行中脱颖而出,他们对自己的职业更加积极。 如果您认为找到工作仅与实习和GPA有关,请继续阅读。 一些学生感...

gitlab+Jenkins自动化搭建部署_机灵的小小子的博客-程序员ITS301_gitlab+jenkins自动化部署

查看Jenkins启动状态是这种时候,表示Jenkins正在启动中,比较慢。私钥id_rsa 公钥 id_rsa.pub 配置在gitlab里。选择下面地址复制到URL下 添加国内插件地址。然后我们的项目构建成功在Jenkins的。华为云下载稳定版或者阿里云下载都可以。添加如下的,然后重启Jenkins。1、添加个项目描述,选择git构建。安装完插件重启Jenkins。2、源码管理URL地址添加。如果出现以下错误的话。.........

学习ADO.NET和封装数据库数据成c#对象_diaoma6535的博客-程序员ITS301

ADO.NET这一节所涉及的数据库下面给出了其创建的SQL语句:(blog数据库及employee表的创建语句)View Code 1 create database blog 2 3 use blog 4 5 create table employee 6 ( 7 eid int primary key identity,...

AD中FSMO五大角色的介绍及操作(转移与抓取)_z荒野求生的博客-程序员ITS301

AD中FSMO五大角色的介绍及操作(转移与抓取)https://blog.csdn.net/jackhong520/article/details/79024730?utm_medium=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase图片抓取

推荐文章

热门文章

相关标签