1、数据可视化呈现的最基础图形就是:柱状图、水平条形图、折线图等等;  

  在python的matplotlib库中分别可用bar、barh、plot函数来构建它们,再使用xticks与yticks(设置坐标轴刻度)、
  xlabel与ylabel(设置坐标轴标签)、title(标题)、legend(图例)、xlim与ylim(设置坐标轴数据范围)、
  grid(设置网格线)等命令来装饰图形

import matplotlib.pyplot as plt
import numpy as np
#创建带数字标签的直方图
numbers = list(range(1,11))
#np.array()将列表转换为存储单一数据类型的多维数组
x = np.array(numbers)
y = np.array([a**2 for a in numbers])
plt.bar(x,y,width=0.5,align='center',color='c')
plt.title('Square Numbers',fontsize=24)
plt.xlabel('Value',fontsize=14)
plt.ylabel('Square of Value',fontsize=14)
plt.tick_params(axis='both',labelsize=14)
plt.axis([0,11,0,110])
for a,b in zip(x,y):
plt.text(a,b+0.1,'%.0f'%b,ha = 'center',va = 'bottom',fontsize=7)
plt.savefig('images\squares.png')
plt.show()
首先,前边设置的x、y值其实就代表了不同柱子在图形中的位置(坐标),通过for循环找到每一个x、y值的相应坐标——a、b,再使用plt.text在对应位置添文字说明来生成相应的数字标签,而for循环也保证了每一个柱子都有标签。其中,a, b+0.05表示在每一柱子对应x值、y值上方0.05处标注文字说明,'%.0f' % b,代表标注的文字,即每个柱子对应的y值,其中0表示不显示小数后面的数值,1就表示显示小数后面一位,以此类推; ha='center', va= 'bottom'代表horizontalalignment(水平对齐)、verticalalignment(垂直对齐)的方式,fontsize则是文字大小。条形图、折线图也是如此设置,饼图则在pie命令中有数据标签的对应参数。对于累积柱状图、双轴柱状图则需要用两个for循环,同时通过a与b的不同加减来设置数据标签位置。
2、用函数plt.annotate()给折线图折点添加坐标

#模块pyplot包含很多生成图表的函数
import matplotlib.pyplot as plt
import numpy as np
input_values = [1,2,3,4,5,6]
squares = [1,4,9,16,25,36]
#plot()绘制折线图
plt.plot(input_values,squares,linewidth=5)
#np.array()将列表转换为存储单一数据类型的多维数组
x = np.array(input_values)
y = np.array(squares)
#annotate()给折线点设置坐标值
for a,b in zip(x,y):
plt.annotate('(%s,%s)'%(a,b),xy=(a,b),xytext=(-20,10),
textcoords='offset points')
#设置标题
plt.title('Square Numbers',fontsize=24)
plt.xlabel('Value',fontsize=14)
plt.ylabel('Square of Value',fontsize=14)
#设置刻度的大小,both代表xy同时设置
plt.tick_params(axis='both',labelsize=14)
#show()打开matplotlib查看器,并显示绘制的图形
plt.show()

最新文章

  1. 坎坷路:ASP.NET 5 Identity 身份验证(上集)
  2. maven权威指南学习笔记(三)——一个简单的maven项目
  3. 用 javascript 脚本,网站判读来访者是手机还是电脑
  4. TABLE CONTROL隐藏列和固定列的实现
  5. 【BZOJ-2503】相框 并查集 + 分类讨论
  6. Android开发--ScrollView的应用
  7. Flex Builder读书笔记(一)
  8. linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件
  9. 为何你的php代码没有写结束标签
  10. MapReduce 支持的部分数据挖掘算法
  11. spring Aop 注解
  12. golang环境搭建
  13. Git的本地仓库与GitHub的远程仓库
  14. python三大器(装饰器/生成器/迭代器)
  15. Java HttpClient4.5.2发送post请求示例
  16. Windows 10 IoT Core 17093 for Insider 版本更新
  17. 基于FPGA的16阶级联型iir带通滤波器实现
  18. Core Mvc传值Query、Form、Cookies、Session、TempData、Cache
  19. animate.css做点赞效果
  20. 再续session和cookie (网络整理)

热门文章

  1. .net core内部分享ppt
  2. python学习之切片
  3. Android并发编程 开篇
  4. java反转链表
  5. mysql 循环
  6. Tirgger SimpleTrigger CronTrigger(四)
  7. 【CSS学习】--- z-index属性
  8. Algolia使用教程 , 超详细傻子看都会
  9. python取余
  10. 浅谈websocket和c# socket(新手篇)