Python数据分析常见Matplotlib SeaBorn图表

Matplotlib绘图

Matplotlib基本概念

Matplotlib:基于对象的思维构建的视觉符号。

每一个Axes(坐标轴)对象包含一个或者多个Axis(轴)对象,比如X轴、Y轴。

一个Figure(画像)是由一堆坐标轴对象组成的。

换句话说,Marker(标记)/Line(线)表示针对一个或多个Axis(轴)绘制的数据集。一个Axes对象(有效地)是一个Figure(画像)的子图

连续图

绘制连续图(连线图、折线图)。

需求说明:对GDP数据按照年进行绘制。

默认方式

hfgdp = [0.2,0.23,0.3,0.36,0.42,0.47,0.53,0.58,0.65,0.74,0.86,0.94,1,1.14,1.2]
plt.plot(hfgdp)
plt.show()

添加轴说明

这里指定X轴为年份、Y轴位GDP值,标题为GDP data

hfgdp = [0.2,0.23,0.3,0.36,0.42,0.47,0.53,0.58,0.65,0.74,0.86,0.94,1,1.14,1.2]
years = [str(i) for i in range(2008,2008+len(hfgdp))]
fig,ax = plt.subplots()
ax.plot(years, hfgdp)
ax.set(xlabel='Years',ylabel='GDP',title='GDP data')
plt.show()

展示离散点

指定离散值以红点的形式展示。 

hfgdp = [0.2,0.23,0.3,0.36,0.42,0.47,0.53,0.58,0.65,0.74,0.86,0.94,1,1.14,1.2]
years = [str(i) for i in range(2008,2008+len(hfgdp))]
fig,ax = plt.subplots()
ax.plot(years, hfgdp ,"ro")
ax.set(xlabel='Years',ylabel='GDP',title='GDP data')
plt.show()

 标记marker的样式见下,一般常用的是“o”即圆点。

参数

说明

'-'

实线

'--'

虚线

'-.'

点划线

':'

冒号

'.'

','

像素

'o'

圆圈

'v'

下尖号

'^'

上尖号

'<'

左尖号

'>'

右尖号

'1'

下三角

'2'

上三角

'3'

左三角

'4'

右三角

's'

方块

'p'

五边形

'*'

星号

'h'

六边形

'H'

六边形

'+'

加号

'x'

字母x

'D'

钻石

'd'

细钻石

'|'

竖线

'_'

横线

参数

说明

'b'

蓝色

'g'

绿色

'r'

红色

'c'

青色

'm'

洋红

'y'

黄色

'b'

黑色

'w'

白色

指定输出格式

可以自定义颜色及线的粗细程度。

hfgdp = [0.2,0.23,0.3,0.36,0.42,0.47,0.53,0.58,0.65,0.74,0.86,0.94,1,1.14,1.2]
njgdp = [0.392,0.431,0.523,0.624,0.733,0.823,0.911,1.02,1.083,1.192,1.31,1.401,1.483,1.642,1.694]
years = [str(i) for i in range(2008,2008+len(hfgdp))]
fig,ax = plt.subplots()
ax.plot(years,hfgdp,color="#009150",linewidth=3.5,linestyle=":")
ax.plot(years,njgdp,color="#33036b",linewidth=1.5,linestyle="-.")
ax.set(xlabel='Years',ylabel='GDP',title='GDP data')
plt.show()

饼图

计算程序语言的占比的饼图。

labels =  'Python','C', 'Java', 'C++', 'C#', 'others'
rate = [14.26,13.06,11.19,8.66,5.92]
explode=(0,0.1,0,0,0.2,0)
rate.append(100-sum(rate))
fig,ax = plt.subplots()
ax.pie(rate,labels=labels,explode=explode,autopct='%1.0f%%',shadow=True,startangle=0)
plt.title("Program Language rate 2022 Mar")
plt.show()

柱状图

普通柱状图

通过柱状图展示GDP的明细数据。

hfgdp = [0.2,0.23,0.3,0.36,0.42,0.47,0.53,0.58,0.65,0.74,0.86,0.94,1,1.14,1.2]
years = [str(i) for i in range(2008,2008+len(hfgdp))]
fig,ax = plt.subplots()
plt.bar (years,hfgdp,color="#009150",linewidth=3.5,linestyle=":")
ax.set(xlabel='Years',ylabel='GDP',title='GDP data')
plt.show()

两分类堆叠柱状图

housedata=pd.read_csv('data/sndHsPr.csv')
data = housedata.pivot_table(values='price',index='dist',columns=['school'],aggfunc=np.mean)
data.plot(kind='bar',stacked=True)
plt.show()

多分类堆叠柱状图

housedata=pd.read_csv('data/sndHsPr.csv')
data = housedata.pivot_table(values='price',index='dist',columns=['school','subway'],aggfunc=np.mean)
data.plot(kind='bar',stacked=True)
plt.show()

直方图

housedata=pd.read_csv('data/sndHsPr.csv')
plt.hist(housedata['price'],bins=40)
plt.show()

概率密度图

import seaborn as sns
housedata=pd.read_csv('data/sndHsPr.csv')
price=housedata['price']
plt.hist(price,bins=40,density=True)
sns.kdeplot(price)
plt.show()
sns.displot(data=rate,kde=True)
plt.show()

散点图

housedata=pd.read_csv('data/sndHsPr.csv')
housedata.plot.scatter(x='area',y='price')
plt.show()

双轴图

通过展示GDP和GDP增长率,以双轴的形式显示。

hfgdp = [0.2,0.23,0.3,0.36,0.42,0.47,0.53,0.58,0.65,0.74,0.86,0.94,1,1.14,1.2]
hfgdpcr = [0.154,0.166,0.164,0.152,0.124,0.113,0.098,0.103,0.099,0.085,0.085,0.075,0.043,0.092,0.035]
#plt.plot(gdp)
#plt.xticks(rotation=270)
years = [str(i) for i in range(2008,2008+len(hfgdp))]
fig,ax = plt.subplots()
plt.bar (years,hfgdp,color="#009150",width=0.8)
ax.set(xlabel='Years',ylabel='GDP',title='GDP data')
plt.xticks(rotation=90) #控制x轴里值的显示方式,水平或者垂直及任意角度
axr=ax.twinx()
axr.plot(years,hfgdpcr,color="#001024",linewidth=2.5,linestyle="-.")axr.set(ylabel='GDP increase rate',title='GDP data')
plt.show()

面积图

idx = [ 1, 2, 3, 4, 5, 6, 7, 8, 9]
y1 = [23, 42, 33, 43, 8, 44, 43, 18, 21]
y2 = [9, 31, 25, 14, 17, 17, 42, 22, 28]
y3 = [18, 29, 19, 22, 18, 16, 13, 32, 21]
plt.stackplot(idx,
y1, y2, y3)
plt.title('Stack Plot Example')
plt.show()

热力图

普通热力图

import seaborn as snsimport pandas as pddf = pd.read_csv("data/automobile.csv")sns.set(rc={'figure.figsize':(16,10)})cm = df.columns.tolist()xcorr = df.corr()#cmap是设置热图的颜色cmap = sns.diverging_palette(220, 10, as_cmap=True)sns.heatmap(data=df.corr(),annot=True,linewidths=.5,center=0,cbar=True,#mask=mask,cmap=cmap, #"PiYG",fmt='0.2f')#plt.savefig("data/mobile.png")plt.show()

仅显示左下角热力图

import seaborn as snsimport pandas as pddf = pd.read_csv("data/automobile.csv")sns.set(rc={'figure.figsize':(16,10)})cm = df.columns.tolist()xcorr = df.corr()#设置右上三角不绘制#mask为 和相关系数矩阵xcorr一样大的 全0(False)矩阵mask = np.zeros_like(xcorr, dtype=np.bool_)# 将mask右上三角(列号》=行号)设置为Truemask[np.triu_indices_from(mask)] = True#cmap是设置热图的颜色cmap = sns.diverging_palette(220, 10, as_cmap=True)sns.heatmap(data=df.corr(),annot=True,linewidths=.5,center=0,cbar=True,mask=mask,cmap=cmap, #"PiYG",fmt='0.2f')plt.savefig("data/mobile.png")plt.show() 

成对图

import seaborn as sns
import matplotlib.pyplot as plt
iris= sns.load_dataset('iris')
sns.pairplot(iris, hue='species')
plt.show()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/15673.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

scanpy sc.pp.normalize_per_cell bug

今天遇到一个很奇怪的bug, 当今天跑covid_atlas数据集的时候&#xff0c;在123服务器总是报错&#xff0c;但是我记得在122服务器上是跑过没问题的 最终的测试结果如下 import scanpy as sc import numpy as np from QUEST import QUEST from QUEST.utils import get_free_…

【Tensorflow2.x】tensorflow-gpu 在 Ubuntu 上的安装

好几次遇到问为什么安装的 tensorflow 不能调用GPU&#xff0c;之前搞定过几次&#xff0c;前两天又有人问&#xff0c;又捣鼓了很久才搞定&#xff0c;这里简单记录一下我遇到的问题&#xff0c;以及解决方案。 一、安装方法 &#xff08;一&#xff09;安装并更新 conda 1…

第五步:STM32F4端口复用

什么是端口复用&#xff1f; STM32有很多的内置外设&#xff0c;这些外设的外部引脚都是与GPIO复用的。也就是说&#xff0c;一个GPIO如果可以复用为内置外设的功能引脚&#xff0c;那么当这个GPIO作为内置外设使用的时候&#xff0c;就叫做复用。 例如串口 1 的发送接收引脚…

【现场问题】flink-cdc,Oracle2Mysql的坑,Oracle区分大小写导致

大小写导致的问题 错误的flink-cdc语句sql我们看一下oracle的数据库字段再看一下错误sql里面的内容flink报错内容 正确的sql三级目录 错误的flink-cdc语句sql CREATE TABLE t_wx_source_1 (id String,name String,age String ) WITH (connector oracle-cdc,hostname 192.168…

【网络】UDP协议详解

目录 UDP的感性理解 UDP协议格式 UDP协议格式感性理解 UDP特点 UDP的缓冲区 UDP的感性理解 UDP的传输过程类似于寄信&#xff0c;假设你要写一封家书寄回家里&#xff1a;首先你要在信封上填写好寄件人和收件人的地址&#xff0c;其次在贴好邮票&#xff0c;最后将信件投放…

36.RocketMQ之Broker如何实现磁盘文件高性能读写

highlight: arduino-light Broker读写磁盘文件的核心技术:mmap Broker中大量的使用mmap技术去实现CommitLog这种大磁盘文件的高性能读写优化的。 通过之前的学习&#xff0c;我们知道了一点&#xff0c;就是Broker对磁盘文件的写入主要是借助直接写入os cache来实现性能优化的&…

论文笔记--SentEval: An Evaluation Toolkit for Universal Sentence Representations

论文笔记--SentEval: An Evaluation Toolkit for Universal Sentence Representations 1. 文章简介2. 文章概括3 文章重点技术3.1 evaluation pipeline3.2 使用 4. 代码4.1 数据下载4.2 句子嵌入4.3 句子嵌入评估 5. 文章亮点6. 原文传送门7. References 1. 文章简介 标题&…

钉钉聊天对话框和截图经常发生白屏

环境&#xff1a; 7.0.30-rel6019102 Win10专业版 L盾加密环境 问题描述&#xff1a; 钉钉聊天对话框和截图经常发生白屏 解决方案&#xff1a; 1.【电脑端钉钉】- 左上角【头像】-【设置】-【高级】- 下拉【网络检测】- 点击【开始检测】 如果变红说明网络有问题&#x…

Moka AI产品后观察:HR SaaS迈进AGI时代

在AI这条路上&#xff0c;Moka已经走了很远。如今的Moka Eva是在此前AI模型基础上的更进一步。未来AGI时代&#xff0c;HR SaaS会有更多可能性。 出品|产业家 在AI潮水里&#xff0c;Moka正在加速快跑。 在6月28日的2023夏季新品发布会上&#xff0c;国内首个AI原生HR Saa…

将一个3x3的OpenCV旋转矩阵转换为Eigen的Euler角

代码将一个3x3的OpenCV旋转矩阵转换为Eigen的Euler角。 #include <iostream> #include <Eigen/Core> #include <Eigen/Geometry> #include <opencv2/core.hpp>using

蓝桥杯刷题-1

文章目录 1.蓝桥杯官网2.蓝桥杯题目进入界面 及 题目详情3.题目解答过程及思路4.运行结果图5.解答代码展示6.ASCII表图例 大家好&#xff0c;我是晓星航。今天为大家带来的是 蓝桥杯刷题 - 1 -单词分析 相关的讲解&#xff01;&#x1f600; 1.蓝桥杯官网 题库 - 蓝桥云课 (l…

【数学建模】 灰色预测模型

数学建模——预测模型简介 https://www.cnblogs.com/somedayLi/p/9542835.html 灰色预测模型 https://blog.csdn.net/qq_39798423/article/details/89283000?ops_request_misc&request_id&biz_id102&utm_term%E7%81%B0%E8%89%B2%E9%A2%84%E6%B5%8B%E6%A8%…