Matplotlib主要用于python分析可视化展示,对于日常的分析中主要用到饼图、折线图、直方图基本能满足一般的分析可视化呈现。
今天我们就来介绍一下必备的Matplotlib可视化关键的几点,只要了解了这几点就够了。

1、可视化直方图举例

import matplotlib.pyplot as plt
plt.rcParams['font.family']='Arial Unicode MS' #中文显示
plt.plot([3,1,4,5,2]) #基础数据实现折线图
plt.ylabel('纵轴(值)') #y轴文字标签
plt.savefig('test',dpi=600) #保存图片
plt.show() #可视化图形展示

Python中的Matplotlib可视化编程整体结构主要有以下几部分组成:

(1)导入Matplotlib库来进行

(2)为了图表可视化中文显示必备代码

(3)可视化核心代码,依据不同的图形使用不同函数如直方图:plt.plot()

(4)图表的各种美化参数设置(横纵坐标参数设置,图表标题等)

(5)图片保存

(6)输出展示

2、可视化结构常用设置

(1)Matplotlib库

Matplotlib库是由各种可视化的类沟通,内部结构复杂,我们不用太关注,更多的关注它的使用就可以了。

(2)中文可视化呈现设置

pyplot并不默认支持中文显示,需要rcParams修改字体来实现

plt.rcParams['font.family']='Arial Unicode MS' #中文显示

一般网上有很多的细节格式如字体风格和字体大小,这里我们避免需要学习的点太多,不做过多介绍。

(3)可视化不同图形函数

常用:

plt.plot(x,y,fmt,…) 绘制一个折线图

plt.boxplot(data,notch,position) 绘制一个箱形图

plt.bar(left,height,width,bottom) 绘制一个条形图

plt.barh(width,bottom,left,height) 绘制一个横向条形图

plt.polar(theta, r) 绘制极坐标图

plt.pie(data, explode) 绘制饼图

plt.scatter(x,y) 绘制散点图,其中,x和y长度相同

plt.hist(x,bins,normed) 绘制直方图

plt.contour(X,Y,Z,N) 绘制等值图

plt.vlines() 绘制垂直图

不常用:

plt.stem(x,y,linefmt,markerfmt) 绘制柴火图

plt.plot_date() 绘制数据日期

plt.step(x,y,where) 绘制步阶图

plt.psd(x,NFFT=256,pad_to,Fs) 绘制功率谱密度图 plt.specgram(x,NFFT=256,pad_to,F) 绘制谱图

plt.cohere(x,y,NFFT=256,Fs) 绘制X‐Y的相关性函数
(4)图形完善设置

plt.xlabel() 对X轴增加横轴标签

plt.ylabel() 对Y轴增加纵轴标签

plt.title() 对图形整体增加标题标签

plt.text() 在任意位置增加文本

plt.annotate() 在图形中增加带箭头的注解

补充一些内部参数设置:

颜色:

风格:

标记:

(5)图片保存和展示

plt.savefig(path+'test',dpi=600) #保存图片
plt.show() #可视化图形展示

3、饼图、直方图、条形图举例

饼图:

# 设置中文字体和负号正常显示
matplotlib.rcParams['font.family']=' Arial Unicode MS '
matplotlib.rcParams['axes.unicode_minus']=False
matplotlib.rcParams['font.size']=13
"""
绘制饼图
explode:设置各部分突出
labels:设置各部分标签
labeldistance:设置标签文本距圆心位置,1.1表示1.1倍半径
autopct:设置圆里面文本
shadow:设置是否有阴影
startangle:起始角度,默认从0开始逆时针转
pctdistance:设置圆内文本距圆心距离
"""
labels = ['衣','食','住','行']
sizes = [14.55,30.45,45,10]
colors = ['red','yellow','lightskyblue','green']
explode = (0,0.1,0,0)
# 设置图片大小
plt.figure(figsize=(7,4),dpi=80)
# 绘制饼状图图
plt.pie(sizes,labels=labels,colors=colors,explode=explode,labeldistance = 1.1,pctdistance = 0.6,autopct='%.2f%%',shadow=False,startangle=90)
plt.axis('equal') #使饼状图的xy轴长度相等
plt.legend(loc='best')
plt.savefig('饼状图')
plt.show()

图形输出如下:

直方图:

np.random.seed(0)
mu,sigma = 100,20
data = np.random.normal(mu,sigma,size=100)
"""
绘制直方图
data:必选参数,绘图数据
bins:直方图的长条形数目,可选项,默认为10
normed:是否将得到的直方图向量归一化,可选项,默认为0,代表不归一化,显示频数。normed=1,表示归一化,显示频率。
facecolor:长条形的颜色
edgecolor:长条形边框的颜色
alpha:透明度
histtype:直方图类型:'bar', 'barstacked','step', 'stepfilled'
"""
plt.hist(data,bins=20,normed=0,histtype='bar',facecolor='g',edgecolor="black",alpha=0.6)
# 显示横轴标签
plt.xlabel("区间",fontproperties='SimHei',fontsize=12)
# 显示纵轴标签
plt.ylabel("频数/频率",fontproperties='SimHei',fontsize=12)
# 显示图标题
plt.title('频数/频率分布直方图',fontproperties='SimHei')
plt.savefig('直方图')
plt.show()

输出图形如下:

条形图:

matplotlib.rcParams['font.family']=’ Arial Unicode MS ‘
matplotlib.rcParams['axes.unicode_minus']=Falselabel_list=['2015','2016','2017','2018'] #横坐标刻度显示值
num_list1=[20,30,15,35] # 纵轴坐标值1
num_list2=[15,30,40,20] #纵轴坐标值2
x = range(len(num_list1))
"""
绘制条形图
x:长条形中点横坐标
height:长条形高度
width:长条形宽度,默认值0.8
label:为后面设置legend准备
"""
plt.figure(figsize=(8,5),dpi=80)
rects1 = plt.bar(x,height=num_list1,width=0.4,alpha=0.7,color='red',label='测量部')
rects2 = plt.bar([i+0.4 for i in x],height=num_list2,width=0.4,alpha=0.7,color='blue',label='人事部')
plt.ylim(0,50)
plt.ylabel('人数')
"""
设置x轴刻度显示值
参数一:中点坐标
参数二:显示值
"""
plt.xticks([index+0.2 for index in x],label_list)
plt.xlabel('年份')
plt.title('某测绘公司')
#编辑文本
for rect in rects1:height = rect.get_height()plt.text(rect.get_x()+rect.get_width()/2,height+1,str(height),ha='center',va='bottom')
for rect in rects2:height = rect.get_height()plt.text(rect.get_x()+rect.get_width()/2,height+1,str(height),ha='center',va='bottom')
plt.legend()
plt.savefig('条形图')
plt.show()

图形输出如下:

以上就是Matplotlib可视化的基础,只要熟悉以上方法和基本代码,基本满足常用分析,如果图形需要有所替换,只要替换不同的图形函数就可以了,基本的思路是一致的。

如对更高级的图形可视化有了解需求,欢迎随时提出,我将在后续给大家汇总最全的图形可视化基础使用教程。

bar图设置距离 python_Python可视化分析:学会Matplotlib这几点就够了相关推荐

  1. bar图设置距离 python_python画图设置坐标轴的位置及角度及设置colorbar

    用python画图 设置y轴在右边显示 f, ax = plt.subplots(figsize = (14, 10)) sns.heatmap(corr,cmap='RdBu', linewidth ...

  2. python提高可视化图片清晰度_Python可视化:学会Matplotlib这几点就够了!

    Matplotlib主要用于python分析可视化展示,对于日常的分析中主要用到饼图.折线图.直方图基本能满足一般的分析可视化呈现. 今天我们就来介绍一下必备的Matplotlib可视化关键的几点,只 ...

  3. [转载] python可视化分析(matplotlib、seaborn、ggplot2)

    参考链接: Python Matplotlib数据可视化2 python可视化分析总结(matplotlib.seaborn.ggplot) 一.matplotlib库1.基本绘图命令3.图形参数设置 ...

  4. 简单易懂 爬取某网站卫衣数据(python)及数据可视化分析(matplotlib、pyecharts)

    爬取网址: http://search.dangdang.com/?key=%CE%C0%D2%C2&category_id=10010336&page_index=1 前言 利用py ...

  5. python可视化分析(matplotlib、seaborn、ggplot2)

    python可视化分析总结(matplotlib.seaborn.ggplot) 一.matplotlib库 1.基本绘图命令 3.图形参数设置 4.特殊统计图的绘制 4.1 数学函数图 4.2 气泡 ...

  6. 折线图设置圆点_Seaborn可视化 折线图seaborn.lineplot

    折线图是排列在工作表的列或行中的数据可以绘制到折线图中.折线图可以显示随时间(根据常用比例设置)而变化的连续数据,因此非常适用于显示在相等时间间隔下数据的趋势. 导入所需库 import pandas ...

  7. 爬取BOSS直聘信息并进行清理和可视化分析(python小白)

    年底了,学习数据分析快四个月了.为了尽快找到一份数据分析相关的工作,计划把BOSS直聘上的相关职位都爬取下来分析分析,也好检验一下最近的学习成果.python新手,代码写的乱,将就看吧.首先,对给BO ...

  8. 数据可视化模板_10分钟,做一份数据可视化分析报表

    做一份涵盖内容多.涉及数据量大的数据可视化分析报表要多久?10分钟够吗?如果奥威BI系列的分析软件会说话,恐怕要吐槽10分钟太多,5分钟足够.不说别的,论做智能数据可视化分析报表的效率,奥威BI系列软 ...

  9. tableau两个不同的图合并_Tableau可视化分析-业务常用图形绘制1

    微信公众号链接: Tableau可视化分析-业务常用图形绘制1​mp.weixin.qq.com 哑铃图VS 火柴图 哑铃图,又名DNA图,横着看是哑铃,竖着看就是DNA,它主要用来表现两个数据点之间 ...

最新文章

  1. Javascript获取数组中最大和最小值
  2. PHP开发环境配置:安装与配置Apache、PHP、MySQL、PhpMyAdmin
  3. 优秀小程序demo 源码
  4. 自己常用的LINUX命令(20100605更新)
  5. 每天进步一点点《ML - 线性回归》
  6. 【英语学习】【Level 07】U06 First Time L5 A Different City
  7. Jupyter_notebook using(慢慢积累)
  8. 多第八田间学校:几何+图论出度+模拟+找到规律
  9. js控制layui radio button选中
  10. (转)某期货系统漏洞致巨损二审在即 千万损失谁来买单?
  11. 基于NumPy实现随机梯度下降算法
  12. 新手使用GitHub客户端提交本地项目到GitHub网站详细步骤
  13. 用visualstudio创建html,VisualStudio如何制作html网页
  14. tp无线路由器设置打印服务器,tplink路由器wdr7500怎么设置usb打印服务器
  15. Linux 下常见的四款chm查看器比较
  16. qq批量登录软件_QQ一键签到助手v1.0
  17. matlab 绘制三阶魔方-动态变化
  18. Linux常用工具大全
  19. python监控键盘按下事件_Python如何监控键盘按了什么键
  20. rootfs 制作ubuntu_【整理】为何要把文件夹形式的rootfs制作成单个rootfs镜像文件...

热门文章

  1. vagrant特性——基于docker开发环境(docker和vagrant的结合)-2-命令
  2. 从0打卡leetcode之day 3 -- 最大子序列和
  3. HTML CSS JS 特殊字符(转义)表
  4. Maven自动压缩脚本 和 样式文件配置
  5. 文件系统权限引起IIS站点总跳登录页面
  6. android反编译之获得res下的xml配置文件及图片等资源
  7. 链式延迟执行DOME
  8. PaddleOCR文字识别使用
  9. 华为机试HJ37:统计每个月兔子的总数(斐波那契数列)
  10. 测试用例的“真相”与“事实” 这9个事实让人扎心!