matplotlib

https://matplotlib.org/

基本线图绘制

1.

import matplotlib.pyplot as plt
import numpy as npdef main():x = np.linspace(-np.pi, np.pi, 256, endpoint=True)c, s = np.cos(x), np.sin(x)plt.figure(1)plt.plot(x, c)plt.plot(x, s)plt.savefig('1.png')plt.show()if __name__ == '__main__':main()

2.添加属性:

def main2():x = np.linspace(-np.pi, np.pi, 256, endpoint=True)c, s = np.cos(x), np.sin(x)plt.figure(1)plt.plot(x, c, color='blue', linewidth=1.0, linestyle='-', label='COS', alpha=0.5)plt.plot(x, s, 'r*', label='SIN')plt.savefig('2.png')plt.show()

注意:‘r*’,表示的是red,和线形状是*,于是有了图中看起来不平滑。

3.

def main3():x = np.linspace(-np.pi, np.pi, 256, endpoint=True)c, s = np.cos(x), np.sin(x)plt.figure(1)plt.plot(x, c, color='blue', linewidth=1.0, linestyle='-', label='COS', alpha=0.5)plt.plot(x, s, 'r*', label='SIN')plt.savefig('3.png')plt.title('COS & SIN')ax = plt.gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')ax.spines['left'].set_position(('data', 0))ax.spines['bottom'].set_position(('data', 0))plt.show()

4.


def main4():x = np.linspace(-np.pi, np.pi, 256, endpoint=True)c, s = np.cos(x), np.sin(x)plt.figure(1)plt.plot(x, c, color='blue', linewidth=1.0, linestyle='-', label='COS', alpha=0.5)plt.plot(x, s, 'r*', label='SIN')plt.savefig('3.png')plt.title('COS & SIN')ax = plt.gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')ax.spines['left'].set_position(('data', 0))ax.spines['bottom'].set_position(('data', 0))ax.xaxis.set_ticks_position('bottom')ax.yaxis.set_ticks_position('left')plt.xticks([-np.pi, -np.pi / 2.0, np.pi / 2, np.pi],[r'$-\pi$', r'$-\pi/2$', r'$-\pi/2$', r'$+\pi$'])plt.yticks(np.linspace(-1, 1, 5, endpoint=True))for label in ax.get_xticklabels()+ax.get_yticklabels():label.set_fontsize(16)label.set_bbox(dict(facecolor='white', edgecolor='None', alpha=0.2))plt.show()

5.


def main5():x = np.linspace(-np.pi, np.pi, 256, endpoint=True)c, s = np.cos(x), np.sin(x)plt.figure(1)plt.plot(x, c, color='blue', linewidth=1.0, linestyle='-', label='COS', alpha=0.5)plt.plot(x, s, 'r*', label='SIN')plt.savefig('5.png')plt.title('COS & SIN')ax = plt.gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')ax.spines['left'].set_position(('data', 0))ax.spines['bottom'].set_position(('data', 0))ax.xaxis.set_ticks_position('bottom')ax.yaxis.set_ticks_position('left')plt.xticks([-np.pi, -np.pi / 2.0, np.pi / 2, np.pi],[r'$-\pi$', r'$-\pi/2$', r'$-\pi/2$', r'$+\pi$'])plt.yticks(np.linspace(-1, 1, 5, endpoint=True))for label in ax.get_xticklabels()+ax.get_yticklabels():label.set_fontsize(16)label.set_bbox(dict(facecolor='white', edgecolor='None', alpha=0.2))plt.legend(loc='upper left')#设置左上角图例# plt.axis([-1, 1, 0.5, 1])#设置显示范围plt.fill_between(x, np.abs(x) < 0.5, c, c > 0.5, color='green', alpha=0.25)#填充颜色plt.grid()#网格线可视plt.show()

6.


def main6():x = np.linspace(-np.pi, np.pi, 256, endpoint=True)c, s = np.cos(x), np.sin(x)plt.figure(1)plt.plot(x, c, color='blue', linewidth=1.0, linestyle='-', label='COS', alpha=0.5)plt.plot(x, s, 'r*', label='SIN')plt.savefig('5.png')plt.title('COS & SIN')ax = plt.gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')ax.spines['left'].set_position(('data', 0))ax.spines['bottom'].set_position(('data', 0))ax.xaxis.set_ticks_position('bottom')ax.yaxis.set_ticks_position('left')plt.xticks([-np.pi, -np.pi / 2.0, np.pi / 2, np.pi],[r'$-\pi$', r'$-\pi/2$', r'$-\pi/2$', r'$+\pi$'])plt.yticks(np.linspace(-1, 1, 5, endpoint=True))for label in ax.get_xticklabels()+ax.get_yticklabels():label.set_fontsize(16)label.set_bbox(dict(facecolor='white', edgecolor='None', alpha=0.2))plt.legend(loc='upper left')#设置左上角图例# plt.axis([-1, 1, 0.5, 1])#设置显示范围plt.fill_between(x, np.abs(x) < 0.5, c, c > 0.5, color='green', alpha=0.25)#填充颜色t = 1plt.plot([t, t], [0, np.cos(t)], 'y', linewidth=3, linestyle='--')#添加注释plt.annotate('cos(1)', xy=(t, np.cos(1)), xycoords='data', xytext=(+10, +30), textcoords="offset points", arrowprops=dict(arrowstyle='->', connectionstyle='arc3, rad=.2'))plt.grid()#网格线可视plt.show()

子图与多种图形绘制

1.


#scatter 散点图
def main7():fig = plt.figure()fig.add_subplot(3, 3, 1)n = 128X = np.random.normal(0, 1, n)Y = np.random.normal(0, 1, n)T = np.arctan2(Y, X)plt.axes([0.025, 0.025, 0.95, 0.95])plt.scatter(X, Y, s=75, c=T, alpha=0.5)plt.xlim(-1.5, 1.5)plt.xticks([])plt.ylim(-1.5, 1.5)plt.yticks([])plt.axis()plt.title('scatter')plt.xlabel('x')plt.ylabel('y')plt.show()

2.柱状图

#bar 柱状图
def main8():fig = plt.figure()# ax = fig.add_subplot(332)n = 10X = np.arange(n)Y1 = (1 - X / float(n)) * np.random.uniform(0.5, 1.0, n)Y2 = (1 - X / float(n)) * np.random.uniform(0.5, 1.0, n)plt.bar(X, +Y1, facecolor='#9999ff', edgecolor='white')plt.bar(X, -Y1, facecolor='#ff9999', edgecolor='white')for x, y in zip(X, Y1):plt.text(x + 0.4, y + 0.05, '%.2f' % y, ha='center', va='bottom')for x, y, in zip(X, Y2):plt.text(x + 0.4, -y - 0.05, '%.2f' % y, ha='center', va='top')plt.show()

3.饼状图

#pie 饼图
def main9():fig = plt.figure()# fig.add_subplot(333)n = 20Z = np.ones(n)Z[-1] *= 2plt.pie(Z, explode=Z * .05, colors=['%f' % (i / float(n)) for i in range(n)],labels=['%.2f' % (i / float(n)) for i in range(n)])plt.gca().set_aspect('equal')plt.xticks([])plt.yticks([])plt.show()

set_aspect('equal')设置成正的圆形

4.极值图

#polar 极值图
def main10():fig = plt.figure()# fig.add_subplot(polar=True)n = 20theta = np.arange(0.0, 2 * np.pi, 2 * np.pi / n)radii = 10 * np.random.rand(n)plt.plot(theta, radii)plt.show()

稍微调整一下 !!!

#polar 极值图
def main10():fig = plt.figure()fig.add_subplot(polar=True)n = 20theta = np.arange(0.0, 2 * np.pi, 2 * np.pi / n)radii = 10 * np.random.rand(n)plt.plot(theta, radii)plt.show()

还可以这样

#polar 极值图
def main10():fig = plt.figure()# fig.add_subplot(polar=True)n = 20theta = np.arange(0.0, 2 * np.pi, 2 * np.pi / n)radii = 10 * np.random.rand(n)# plt.plot(theta, radii)plt.polar(theta, radii)plt.show()

5.热图

#heatMap 热图
from matplotlib import cm
def main11():fig = plt.figure()data = np.random.rand(3, 3)cmap = cm.Bluesmap = plt.imshow(data, interpolation='nearest',cmap=cmap, aspect='auto', vmin=0, vmax=1)plt.show()

6.3D图

#3D图
from mpl_toolkits.mplot3d import Axes3D
#引入3D坐标系
def main12():fig = plt.figure()ax = fig.add_subplot(projection='3d')ax.scatter(1, 1, 3, s=100)plt.show()

7. hot map 热力图

#hot map 热力图
def main13():fig = plt.figure()def f(x, y):return (1 - x / 2 + x ** 5 + y ** 3) \* np.exp(-x ** 2 - y ** 2)n = 256x = np.linspace(-3, 3, n)y = np.linspace(-3, 3, n)X, Y = np.meshgrid(x, y)plt.contourf(X, Y, f(X, Y), 8, alpha=.75,cmap=plt.cm.hot)plt.show()

【数据分析】基础技术篇 三——matplotlib相关推荐

  1. python数据分析基础技术篇_HTML5小游戏---爱心鱼(上)

    大大米 2020-03-05 5.大鱼吃果实的碰撞检测 原理: 检测大鱼和果实的距离 截图 0赞 · 0采集 大大米 2020-03-05 4.画大鱼,身子,尾巴,眼睛 使用到的API transla ...

  2. 数据分析(一)- 数据分析基础及matplotlib

    目录 为什么要学习数据分析 什么是数据分析 环境安装 认识jupyter notebook matplotlib matplotlib绘制折线图 plt.plot maplotlib基础绘图 设置图片 ...

  3. python数据分析基础001 -matplotlib的基础绘图

    前言 大家好,我是苏凉,在前面我们已经学习了网络爬虫并且获取到了数据,接下来当然是对数据进行分析啦,本篇文章带大家进入新的模块:pyhon数据分析基础001 -matplotlib的基础绘图. 文章目 ...

  4. Matplotlib基础(三)---- 图例标签、刻度、标题和边线

    Matplotlib基础(三)---- 图例标签.刻度.标题和边线 在平时处理数据的时候,因为数据可视化更能显示数据的关系.而python中的matplotlib库很好地提供了我们2D绘图的方式.于是 ...

  5. python部分引入total值的问题_Python数据分析基础与过程综述,关键数据预处理异常点的发现与处理,python,及,流程,回顾,重点,之,值...

    一. python数据分析基础库的导入 基本是固定搭配 import numpy as np #科学计算基础库,多维数组对象ndarray import pandas as pd #数据处理库,Dat ...

  6. python Numpy 的基础用法以及 matplotlib 基础图形绘制

    python Numpy 的基础用法以及 matplotlib 基础图形绘制 1. 环境搭建 1.1 Anaconda ​ anaconda 集成了数据分析,科学计算相关的所有常用安装包,比如Numo ...

  7. python 数据分析基础 day1-初窥内容

    在读这本书之前,我已经有开始学python,用的是anaconda 的jupyter notebook. 看了<python 数据分析基础>的前言部分,发现这本书的实用性很高,其讲解的内容 ...

  8. python计算相关矩阵_Numpy使用大全(python矩阵相关运算大全)-Python数据分析基础2...

    //2019.07.10 python数据分析基础--numpy(数据结构基础) import numpy as np: 1.python数据分析主要的功能实现模块包含以下六个方面: (1)numpy ...

  9. 泰坦尼克号 数据分析_第1部分:泰坦尼克号-数据分析基础

    泰坦尼克号 数据分析 My goal was to get a better understanding of how to work with tabular data so I challenge ...

最新文章

  1. 3.3.2 函数参数不得不说的几件事
  2. Case Study: 利用PHP获取关系型数据库中多张数据表的数据
  3. 以太经典(ETC)逆势上涨,将逆袭反超以太坊(ETH)?
  4. cctype 头文件定义函数实例
  5. “Info.plist” couldn’t be removed
  6. HDU - 3804 Query on a tree(树链剖分+线段树+离线处理)
  7. 三分钟总览微软任务并行库TPL
  8. 基础系列(1)-- html
  9. iphone 利用UIImageView来制作幻灯片
  10. 移动硬盘格式化后如何数据恢复?
  11. python 模拟键盘_用Python模拟键盘输入
  12. 谈谈机器学习(Machine Learning)大牛
  13. 小武与YOLOv3----优图代码
  14. 最短路——大胖子走迷宫
  15. 项目管理工作中的一些自我反省
  16. CSS系列之连续的字母或数字在Html盒子中不会自动换行,直接溢出
  17. 发送webService请求BPM流程
  18. 电信天翼云搭建Halo博客
  19. 惠普服务器cpu芯片,惠普、戴尔推出ARM服务器_Intel服务器CPU_服务器产业-中关村在线...
  20. web前端面试合集2022版

热门文章

  1. 文件系统大目录下的操作性能效率提升
  2. 全球人工智能产业链产业图谱
  3. 网页录屏(帧记录)调研总结
  4. Javascript 中 atob/btoa
  5. 使用UltraEdit删除重复的行
  6. 我的世界刷猪人塔java版_我的世界主世界僵尸猪人刷怪塔制作教程
  7. python数据处理2: 拟合数据、整合数据、导出数据
  8. 为公寓运营商提供SaaS管理系统,寓小二获贝壳找房5000万元A轮融资...
  9. Android使用Intent一键分享图片文字到腾讯、新浪、开心、微信等
  10. 《knowledge graph embedding:a survey of approaches and applications》论文阅读