数据可视化能让人们更直观的传递数据所要表达的信息。Python 中有两个专用于可视化的库,matplotlib 和 seaborn ,本文将介绍matplotlib。

  • Matplotlib:基于Python的绘图库,提供完全的 2D 支持和部分 3D 图像支持。
  • Seaborn:该 Python 库能够创建富含信息量和美观的统计图形。Seaborn 基于 matplotlib,具有多种特性,比如内置主题、调色板、可视化单变量数据、双变量数据,线性回归数据和数据矩阵以及统计型时序数据等,能让我们创建复杂的可视化图形。

一、python代码实现(matplotlib库

1、导入数据库

import matplotlib.pyplot as plt # 我们最常用matplotlib中的pyplot模块,别名设置为plt是约定俗称常用,也可以自己设置

2、作图

结合实际绘画过程,我们来理解一下用python作图,每一行代码的意义:

图形种类很多,根据实际项目需求,绘制不同类型的图像,很多时候我们会融合多种图像,从不同角度分析结果:

  1. 数值型:散点图
  2. 时间序列:折线图
  3. 分类数据:柱状图
  4. 颜色:热图
  • 下面介绍一下常见的图以及常用的属性

2.1 散点图

x=[0.5,0.75,1,2,3,3.5,4,5.5]  # 某学生不同科目的学习时间
y=[10,22,25,40,50,70,90,93]     # 对应不同科目的分数# 画散点图
plt.scatter(x,y,s=200)  # s表示设置散点的大小#设置图标标题
plt.title('学生分数情况',fontsize =24)# 设置坐标轴标签
plt.xlabel('学习时间')
plt.ylabel('考试分数')plt.show()

2.2 折线图

# 折线图
x=[1,2,3,4,5]
y=[10,20,20,35,30]# 作图
'''
linewidth:修改线条宽度
color:     修改线条颜色
marker:    点的形状,o表示点为圆圈标记
linestyle:线条的形状,dash表示用虚线连接,也可以直接用'--'表示
label:    增加图例
'''plt.plot(x,y,linewidth=3,color='red',marker='o',linestyle='--',label='我是图例')# 显示图例
plt.legend(loc = 'upper left')  # loc设置图例位置# 设置图标的标题,并且给坐标轴加上标签
plt.title('我是标题',fontsize=20)  #fontsize 修改标题大小
plt.xlabel('我是横轴')
plt.ylabel('我是纵轴')

我们希望x轴的刻度是0,1,2,3,4……,y轴的刻度是0,10,20,30……,所以我们需要手动设置。

# 修改坐标轴范围——方法1
plt.xticks([0,1,2,3,4,5,6])  # 直接以列表形式给出横轴
plt.yticks(np.linspace(0,40,5))  # 利用linspace()可以生成制定范围均匀分布的数,给出纵轴

# 修改坐标轴范围——方法2
'''
axis:坐标轴范围
语法:axis[xmin,xmax,ymin,ymax]
也就是axis[x轴最小值,x轴最大值,y轴最小值,y轴最大值,]'''
plt.axis([0,6,0,40])

'''
使用数组同时绘制多个线性
'''x= np.arange(0,20,0.2)
y1 =  x
y2 =  x**2
y3 = x**3# 使用plot绘制线条
lineList = plt.plot(x,y1,x,y2,x,y3)# 使用setp方法可以同时设置多个线条的属性
plt.setp(lineList,color='r')plt.show()

如何在图上添加文本注释:

# 数据
x=[1, 2, 3, 4]
y=[1, 4, 9, 16]# 作图
plt.plot(x,y ,color='r')# 添加坐标轴名称
plt.xlabel('我是x轴')
plt.ylabel('我是y轴')# 添加注释
'''
参数名xy:箭头注释中箭头所在位置,
参数名xytext:注释文本所在位置,
arrowprops在xy和xytext之间绘制箭头,
shrink表示注释点与注释文本之间的图标距离
# '''
plt.annotate('我是注释',xytext=(2,10) ,xy =(2,4.5),arrowprops=dict(facecolor='black',shrink=0.02))

如何将多个子图画在一个图板上:

# 数据
x= np.arange(0,8,0.2)
y1 =  x
y2 =  x**2
y3 = x**3# 创建画板
plt.figure(figsize=(3*4,1*3))  # figsize(画板宽度,画板高度),宽度决定列数,高度决定行数
ax1 = plt.subplot(1,3,1)
plt.plot(x,y1)
plt.title('我是y1对应的图')# 创建画纸2并作图
ax2 = plt.subplot(1,3,2)
plt.plot(x,y2)
plt.title('我是y2对应的图')# 创建画纸3并作图
ax3 = plt.subplot(1,3,3)
plt.plot(x,y3)
plt.title('我是y3对应的图')
plt.show()

2.3 柱状图

2.3.1 单系列柱状图

# 柱状图
# 数据
x = np.array(list('ABCDEF'))
y =  np.random.randint(1,100,6)# 作图
# x,y参数:x,y值
# width:宽度比例
# facecolor柱状图里填充的颜色plt.bar(x,y,width=0.5,facecolor='lightblue')
plt.show()plt.bar - 这个网站可出售。 - 最佳的Server monitoring 来源和相关信息。# 柱状图
# 数据
x = np.array(list('ABCDEF'))
y =  np.random.randint(1,100,6)# 作图
# x,y参数:x,y值
# width:宽度比例
# facecolor柱状图里填充的颜色plt.bar(x,y,width=0.5,facecolor='lightblue')
plt.show()

2.3.2 多系列柱状图

之前我们都是用plt来作图,事实上pandas也可以直接作图,下面就展示一下如何用pandas作多系列柱状图:

# 数据
df =  pd.DataFrame(np.random.rand(10,3)*20,columns=['a','b','c'])
df

# 之前都是用plt作图,其实DataFrame也可以作图
df.plot(kind='bar')
plt.show()

图以DataFrame的index为横轴,columns为纵轴,自动生成了图例。

# 柱状图的填充颜色也可以更改
df.plot(kind='bar',colormap='Blues_r',grid=True)   # grid显示网格线
plt.show()

2.3.3 堆叠图

df.plot(kind='bar',grid = True,stacked=True)
# 多系列堆叠图
# stacked → 堆叠
plt.show()

2.4 热图

# 利用随机数生成一个二维数据(5*5)
data=[]
for i in range(5):temp = list(np.random.randint(10,50,4))data.append(temp)
data

# 作图并选择热图的颜色填充风格,这里选择hot
from matplotlib import cm
plt.imshow(data,cmap=plt.cm.hot_r)#设置标题,横纵坐标
plt.title('我是标题')# 增加右侧颜色进度条
plt.colorbar()plt.show()

颜色越深,表明数字越大。

matplotlib柱状图上方显示数据_Python数据可视化之matplotlib相关推荐

  1. matplotlib柱状图上方显示数据_Python数据分析matplotlib可视化之绘图!

    Matplotlib是一个基于python的2D画图库,能够用python脚本方便的画出折线图,直方图,功率谱图,散点图等常用图表,而且语法简单. Python中通过matplotlib模块的pypl ...

  2. matplotlib柱状图上方显示数据_可视化技能之Matplotlib(上)|可视化系列01

         作者:蜇虫适航      来源:蜇虫适航 Matplotlib可以说是Python最声名远扬的可视化库了,也是Python数据分析库的"三驾马车"之一.Matplotli ...

  3. matplotlib柱状图上方显示数据_Python基础数据可视化

    数据可视化是数据分析中最重要的工作之一.在数据探索阶段,可视化有助于我们了解数据的基本分布与简单规律:在数据分析结果阶段,可视化呈现的结果更加直观.醒目.按照数据之间的关系,我们可以把可视化视图分为四 ...

  4. matplotlib柱状图上方显示数据_使用 matplotlib 的两种姿势

    点击上"蓝字"关注我们 本文环境说明熊猫本次用的是 Anaconda 的 jupyter notebook 编写的本文代码.今天用到的库都是已经集成好的,无须另行安装.每个库的版本 ...

  5. python分析股票数据_Python数据可视化——股票数据分析

    1.背景 GAFATA,它表示的是GOOGLE,AMAZON,FACEBOOK,APPLE,TENCENT,ALIBABA这六家互联网巨头的首字母缩写.本文主要分析GAFATA这六家公司股票近一年的的 ...

  6. 【echarts】在柱状图上方显示数值

    series: [{type: 'bar',data: value,label: {show: true, // 开启显示rotate: 70, // 旋转70度position: 'top', // ...

  7. python散点图显示数据_Python数据可视化——散点图

    PS: 翻了翻草稿箱. 发现竟然存了一篇去年2月的文章...尽管naive.还是发出来吧... 本文记录了python中的数据可视化--散点图scatter, 令x作为数据(50个点,每一个30维), ...

  8. python 柱状图上显示字体_Python爬取百部电影数据,我发现了这个惊人真相!

    2019年就这么匆匆过去了,就在前几天国家电影局发布了2019年中国电影市场数据,数据显示去年总票房为642.66亿元,同比增长5.4%:国产电影总票房411.75亿元,同比增长8.65%,市场占比 ...

  9. echart饼状图没有数据的时候显示暂无数据_Python数据结构可视化 day 5

    Python 数据结构可视化 (Day5) 01年度工作总结 有时候画布太大,影响到图表的展示,这个时候输入: "init_opts=opts.InitOpts(width='',heigh ...

最新文章

  1. 关于Fuzz工具的那些事儿
  2. 特殊方法求1~n的和
  3. download在线下载源码
  4. 证明randomized quicksort的平均running time为nlgn 的数学过程
  5. angualr Material Icons
  6. apache http php,性能-安装HTTP使用PHP和Apache使标头失效
  7. 行内元素、块状元素和行内块元素
  8. NUC1399 Sum It Up【DFS】
  9. 算法设计与分析(第2版)屈婉玲 刘田 张立昂 王捍贫编著 第一章课后习题答案
  10. 联想电脑Windows7系统重装方法,简单易上手
  11. 【ML】特征归一化、为什么归一化、归一化的方法、归一化方法选择依据
  12. Devops知识技能树(译)
  13. QT开源网站和相关资料
  14. Python 菜单中的分割线
  15. 微信小程序: wx:key详解
  16. AUTOMATE THE BORING STUFF WITH PYTHON读书笔记 - 第4章:LISTS
  17. js-beautify 不换行
  18. CSS基础语法和盒模型
  19. Hacked【黑客】手游攻略
  20. 水利水电工程有学计算机吗,为什么说千万别学水利水电工程 原因有哪些

热门文章

  1. WIN10 kernel security check failure蓝屏解决策略
  2. python 全栈开发,Day86(上传文件,上传头像,CBV,python读写Excel,虚拟环境virtualenv)
  3. 教您正确选择一款合适您的家用路由器
  4. HTML基础常见面试题
  5. java获取北京时间系统时间全球各地时间。
  6. 百词斩秋招java,成都百词斩2018web前端秋招笔试题
  7. ROS学习第二讲(1)
  8. C++虚函数表(vtable)和虚函数指针(vfptr)
  9. 格密码LLL算法:如何解决最短向量SVP问题(1)
  10. 关于平面战机射击游戏的一点小结