目前有很多 工具 都可以数实现据可视化,比如我们常用的Excel,还有数据科学另一门重要的语言R,以及百度的Echarts等可视化工具。今天我们的主角是 Python 中的matplotlib库(官网: http://matplotlib.org ),相对来说,matplotlib功能不是最强大的,但是对于基本的图形来说,matplotlib已经很不错了。

首先补充以下:7种颜色 r g b y m c k (红,绿,蓝,黄,品红,青,黑)

在科研的过程中,坐标系中的XY不一定就是等尺度的。例如在声波中对Y轴取对数。肆意我们也必须知道这种坐标系如何画出来的。

1,对数坐标图

有3个函数可以实现这种功能,分别是:semilogx(),semilogy(),loglog()。它们分别表示对X轴,Y轴,XY轴取对数。下面在一个2*2的figure里面来比较这四个子图(还有plot())。

import numpy as np

import matplotlib.pyplot as plt

w=np.linspace(0.1,1000,1000)

p=np.abs(1/(1+0.1j*w))

plt.subplot(221)

plt.plot(w,p,lw=2)

plt.xlabel('X')

plt.ylabel('y')

plt.subplot(222)

plt.semilogx(w,p,lw=2)

plt.ylim(0,1.5)

plt.xlabel('log(X)')

plt.ylabel('y')

plt.subplot(223)

plt.semilogy(w,p,lw=2)

plt.ylim(0,1.5)

plt.xlabel('x')

plt.xlabel('log(y)')

plt.subplot(224)

plt.loglog(w,p,lw=2)

plt.ylim(0,1.5)

plt.xlabel('log(x)')

plt.xlabel('log(y)')

plt.show()

如上面的代码所示,对一个低通滤波器函数绘图。得到四个不同坐标尺度的图像。如下图所示:

2,极坐标图像

极坐标系中的点由一个夹角和一段相对于中心位置的距离来表示。其实在plot()函数里面本来就有一个polar的属性,让他为True就行了。下面绘制一个极坐标图像:

import numpy as np

import matplotlib.pyplot as plt

theta=np.arange(0,2*np.pi,0.02)

plt.subplot(121,polar=True)

plt.plot(theta,2*np.ones_like(theta),lw=2)

plt.plot(theta,theta/6,'--',lw=2)

plt.subplot(122,polar=True)

plt.plot(theta,np.cos(5*theta),'--',lw=2)

plt.plot(theta,2*np.cos(4*theta),lw=2)

plt.rgrids(np.arange(0.5,2,0.5),angle=45)

plt.thetagrids([0,45,90])

plt.show()

整个代码很好理解,在后面的13,14行没见过。第一个plt.rgrids(np.arange(0.5,2,0.5),angle=45) 表示绘制半径为0.5 1.0 1.5的三个同心圆,同时将这些半径的值标记在45度位置的那个直径上面。plt.thetagrids([0,45,90]) 表示的是在theta为0,45,90度的位置上标记上度数。得到的图像是:

3,柱状图:核心代码matplotlib.pyplot.bar(left, height, width=0.8, bottom=None, hold=None, **kwargs)里面重要的参数是左边起点,高度,宽度。下面例子:

import numpy as np

import matplotlib.pyplot as plt

n_groups = 5

means_men = (20, 35, 30, 35, 27)

means_women = (25, 32, 34, 20, 25)

fig, ax = plt.subplots()

index = np.arange(n_groups)

bar_width = 0.35

opacity = 0.4

rects1 = plt.bar(index, means_men, bar_width,alpha=opacity, color='b',label=    'Men')

rects2 = plt.bar(index + bar_width, means_women, bar_width,alpha=opacity,color='r',label='Women')

plt.xlabel('Group')

plt.ylabel('Scores')

plt.title('Scores by group and gender')

plt.xticks(index + bar_width, ('A', 'B', 'C', 'D', 'E'))

plt.ylim(0,40)

plt.legend()

plt.tight_layout()

plt.show()

得到的图像是:

4,散列图,有离散的点构成的。函数是:matplotlib.pyplot.scatter(x, y, s=20, c='b', marker='o', cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, hold=None,**kwargs),其中,xy是点的坐标,s点的大小,maker是形状可以maker=(5,1)5表示形状是5边型,1表示是星型(0表示多边形,2放射型,3圆形);alpha表示透明度;facecolor=‘none’表示不填充。例子如下:

import numpy as np

import matplotlib.pyplot as plt

plt.figure(figsize=(8,4))

x=np.random.random(100)

y=np.random.random(100)

plt.scatter(x,y,s=x*1000,c='y',marker=(5,1),alpha=0.5,lw=2,facecolors='blue')

plt.xlim(0,1)

plt.ylim(0,1)

plt.show()

上面代码的facecolors参数使得前面的c=‘y’不起作用了。图像:

去掉c=‘y’

5,3D图像,主要是调用3D图像库。看下面的例子:

import numpy as np

import matplotlib.pyplot as plt

import mpl_toolkits.mplot3d

x,y=np.mgrid[-2:2:20j,-2:2:20j]

z=x*np.exp(-x**2-y**2)

ax=plt.subplot(111,projection='3d')

ax.plot_surface(x,y,z,rstride=2,cstride=1,cmap=plt.cm.coolwarm,alpha=0.8)

ax.set_xlabel('x')

ax.set_ylabel('y')

ax.set_zlabel('z')

plt.show()

得到的图像如下图所示:

python matplotlib数据可视化教程_Python使用matplotlib实现数据可视化教程相关推荐

  1. python数据可视化代码_Python实现简单的数据可视化

    现在python这门解释型语言被越来越多的人们喜欢,强大的库支持,使得编程过程变得简单. 我是一个传统的C语言支持者,往后也打算慢慢的了解Python的强大. 今天我就学习一下使用python实现数据 ...

  2. python 可视化案例_Python之路 08 数据可视化案例

    可视化练习:Kaggle共享单车项目 项目链接:Bike Sharing Demand | Kaggle​www.kaggle.com 1. 提出问题(Business Understanding) ...

  3. python在数据分析的应用_Python运用于数据分析的简单教程

    这篇文章主要介绍了Python运用于数据分析的简单教程,主要介绍了如何运用Python来进行数据导入.变化.统计和假设检验等基本的数据分析,需要的朋友可以参考下 我这里来分享一下如何通过Python来 ...

  4. 用python做数据分析教程_Python运用于数据分析的简单教程

    最近,Analysis with Programming加入了Planet Python.作为该网站的首批特约博客,我这里来分享一下如何通过Python来开始数据分析.具体内容如下: 数据导入 导入本 ...

  5. pythongui可视化编程_Python Qt GUI与数据可视化编程

    商品参数 Python Qt GUI与数据可视化编程 定价 99.00 出版社 人民邮电出版社 版次 dy 版 出版时间 2019年09月 开本 16 作者 王维波 等 装帧 平装 页数 488 字数 ...

  6. python爬微博数据合法吗_Python 免登录微博数据爬虫(仅研究使用)

    微博数据是非常有价值的数据,这些数据可以用作我们进行一些系统开发时的数据源, 比如前段时间发过的:Python 短文本识别个体是否有自杀倾向,在此文中,我们使用微博绝望树洞的数据,利用SVM做了一个简 ...

  7. python动态爬取实时_python爬取动态数据实战---猫眼专业版-实时票房(二)

    学习python进行简单的数据爬取(基于python 3.x).再进行数据页面解析之后,使用scrapy框架进行爬取数据.没有实现自己预想的效果,着实是自己能力有限,无法灵活使用该框架.就使用自己的办 ...

  8. python的json格式输出_python中json格式数据输出实现方式

    python中json格式数据输出实现方式 主要使用json模块,直接导入import json即可. 小例子如下: #coding=UTF-8 import json info={} info[&q ...

  9. python表格多列合并_python 合并excel表格数据-如何用python从excel中同时提取两个列的数据,并生成dict(用xlrd)...

    用Python导出工程文件两个子页里的数据成为两个excel表格,但我想把它合并成个一个excel表格的两个sheet 可以采用一些操作Excel块去实现,比如xlrd.xlwt.openpyxl.x ...

最新文章

  1. 在VC6.0中创建工程并输入源代码
  2. JAVA实现斐波那契数列问题(《剑指offer》)
  3. Cissp-【第7章 安全运营】-2021-3-15(707页-821页)
  4. RegularExpressionValidator 控件用法
  5. python hash
  6. TortoiseSVN Unable to connect to a repository at URL XXX
  7. 结构体内元素不确定_氮长叶,磷长果,那么生物菌肥能长啥?看完终于不纠结了...
  8. 不删除侦听器–使用ListenerHandles
  9. linux epoll 开发指南-【ffrpc源码解析】
  10. Python DearPyGui 常用控件二
  11. 高斯拟合原理_数据分析中的插值与拟合(2) —— 拟合
  12. server2008实验之七 利用FSRM实现文件服务器精确管理.
  13. 基于51单片机GPS定位系统GSM短信上报设计方案原理图
  14. NLP自然语言处理 集束搜索(beam search)和贪心搜索(greedy search)
  15. 【技术分享】IS-IS 概述
  16. 探探php模板下载,PHP开发的优客365网址导航商业精华版1.1.6版本源码带WAP手机版附带三款模板和四款插件_随便下源码网...
  17. 腾讯入股Snap,能救“阅后即焚”的命吗?
  18. idea重装以后打不开,双击没有反应
  19. 智能网联云控平台在园区自动驾驶的场景应用
  20. 关于5G技术面临的挑战和发展史简介

热门文章

  1. 人工智能及其体系结构_一些复制体系结构错误及其解决方案
  2. 数据湖 数据仓库 数据集市_还原数据仓库/数据集市环境的两种方法
  3. sql查询初学者指南_适用于初学者SQL Server查询优化技巧与实际示例
  4. 在SQL Server中配置索引创建内存设置的最佳实践
  5. C# GDI绘制波形图
  6. hello March
  7. postgresql命令行
  8. 蓝桥杯---简单的计算器
  9. iOS6、7、8、9新特性汇总和适配说明
  10. drf 频率组件 META字典详情