《Python数据可视化之matplotlib实践》 源码 第一篇 入门 第一章
最近手上有需要用matplotlib画图的活,在网上淘了本实践书,发现没有代码,于是手敲了一遍,mark下。

第一篇 第一章
图1.1

import matplotlib.pyplot as plt
import numpy as np from matplotlib import cm as cm #define data
x=np.linspace(0.5, 3.5, 100)
y=np.sin(x)
y1=np.random.randn(100) #scatter figure
plt.scatter(x, y1, c='0.25', label='scatter figure') #plot figure
plt.plot(x, y, ls='--', lw=2, label='plot figure') #some clean up
#去掉上边框和有边框
for spine in plt.gca().spines.keys():
if spine=='top' or spine=='right':
plt.gca().spines[spine].set_color('none') # x轴的刻度在下边框
plt.gca().xaxis.set_ticks_position('bottom') # y轴的刻度在左边框
plt.gca().yaxis.set_ticks_position('left') #设置x轴、y轴范围
plt.xlim(0.0, 4.0)
plt.ylim(-3.0, 3.0) #设置x轴、y轴标签
plt.xlabel('x_axis')
plt.ylabel('y_axis') #绘制x、y轴网格
plt.grid(True, ls=':', color='r') #绘制水平参考线
plt.axhline(y=0.0, c='r', ls='--', lw=2) #绘制垂直参考区域
plt.axvspan(xmin=1.0, xmax=2.0, facecolor='y', alpha=0.5) #绘制注解
plt.annotate('maximum', xy=(np.pi/2, 1.0), xytext=((np.pi/2)+0.15, 1.5),
weight='bold', color='r', arrowprops=dict(arrowstyle='->',
connectionstyle='arc3', color='r')) #绘制注解
plt.annotate('spines', xy=(0.75, -3), xytext=(0.35, -2.25),
weight='bold', color='r', arrowprops=dict(arrowstyle='->',
connectionstyle='arc3', color='r')) #绘制注解
plt.annotate('', xy=(0, -2.78), xytext=(0.4, -2.32),
weight='bold', color='r', arrowprops=dict(arrowstyle='->',
connectionstyle='arc3', color='r')) #绘制注解
plt.annotate('', xy=(3.5, -2.98), xytext=(3.6, -2.7),
weight='bold', color='r', arrowprops=dict(arrowstyle='->',
connectionstyle='arc3', color='r')) #绘制文本
plt.text(3.6, -2.70, "'|' is tickline", weight='bold', color='b')
plt.text(3.6, -2.95, "3.5 is tickline", weight='bold', color='b') plt.title("structure of matplotlib") plt.legend(loc='upper right') plt.show()
=======================================================
图 1.2

import matplotlib.pyplot as plt
import numpy as np x=np.linspace(0.05, 10, 1000)
y=np.cos(x) plt.plot(x,y,ls='-.', lw=2, c='c', label='plot figure') plt.legend() plt.show()
=======================================================
图 1.3

import matplotlib.pyplot as plt
import numpy as np x=np.linspace(0.05, 10, 1000)
y=np.random.rand(1000) plt.scatter(x,y,label='scatter figure') plt.legend() plt.show()
=======================================================
图1.4

import matplotlib.pyplot as plt
import numpy as np x=np.linspace(0.05, 10, 1000)
y=np.random.rand(1000) plt.scatter(x,y,label='scatter figure') plt.legend() plt.xlim(0.05, 10)
plt.ylim(0, 1) plt.show()
=======================================================
图 1.5

import matplotlib.pyplot as plt
import numpy as np x=np.linspace(0.05, 10, 1000)
y=np.sin(x) plt.plot(x,y,ls='-.', lw=2, c='c', label='plot figure') plt.xlabel('x-axis')
plt.ylabel('y-axis') plt.legend() plt.show()
=======================================================
图 1.6

import matplotlib.pyplot as plt
import numpy as np x=np.linspace(0.05, 10, 1000)
y=np.sin(x) plt.plot(x,y,ls='-.', lw=2, c='c', label='plot figure') plt.grid(linestyle=':', color='r') plt.legend() plt.show()
=======================================================
图 1.7

import matplotlib.pyplot as plt
import numpy as np x=np.linspace(0.05, 10, 1000)
y=np.sin(x) plt.plot(x,y,ls='-.', lw=2, c='c', label='plot figure') plt.axhline(y=0.0, c='r', ls='--', lw=2)
plt.axvline(x=4.0, c='r', ls='--', lw=2) plt.legend() plt.show()
=======================================================
图 1.8

import matplotlib.pyplot as plt
import numpy as np x=np.linspace(0.05, 10, 1000)
y=np.sin(x) plt.plot(x,y,ls='-.', lw=2, c='c', label='plot figure') plt.axvspan(xmin=4.0, xmax=6.0, facecolor='y', alpha=0.3)
plt.axhspan(ymin=0.0, ymax=0.5, facecolor='y', alpha=0.3) plt.legend() plt.show()
=======================================================
图 1.9

import matplotlib.pyplot as plt
import numpy as np x=np.linspace(0.05, 10, 1000)
y=np.sin(x) plt.plot(x,y,ls='-.', lw=2, c='c', label='plot figure') plt.annotate('maximum', xy=(np.pi/2, 1.0), xytext=((np.pi/2)+1.0, 0.8),weight='bold', color='b',
arrowprops=dict(arrowstyle='->', connectionstyle='arc3', color='b')) plt.legend() plt.show()
=======================================================
图 1.10

import matplotlib.pyplot as plt
import numpy as np x=np.linspace(0.05, 10, 1000)
y=np.sin(x) plt.plot(x,y,ls='-.', lw=2, c='c', label='plot figure') plt.text(3.1, 0.09, 'y=sin(x)', weight='bold', color='b') plt.legend() plt.show()
=======================================================
图 1.11

import matplotlib.pyplot as plt
import numpy as np x=np.linspace(0.05, 10, 1000)
y=np.sin(x) plt.plot(x,y,ls='-.', lw=2, c='c', label='plot figure') plt.title("y=sin(x)") plt.legend() plt.show()
=======================================================
图 1.12

import matplotlib.pyplot as plt
import numpy as np x=np.linspace(0.05, 10, 1000)
y=np.sin(x) plt.plot(x,y,ls='-.', lw=2, c='c', label='plot figure') plt.legend(loc="lower right") plt.show()
《Python数据可视化之matplotlib实践》 源码 第一篇 入门 第一章的更多相关文章
- Python数据可视化——使用Matplotlib创建散点图
Python数据可视化——使用Matplotlib创建散点图 2017-12-27 作者:淡水化合物 Matplotlib简述: Matplotlib是一个用于创建出高质量图表的桌面绘图包(主要是2D ...
- python 数据可视化(matplotlib)
matpotlib 官网 :https://matplotlib.org/index.html matplotlib 可视化示例:https://matplotlib.org/gallery/inde ...
- Python数据可视化库-Matplotlib(一)
今天我们来学习一下python的数据可视化库,Matplotlib,是一个Python的2D绘图库 通过这个库,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率图,条形图,错误图,散点图等等 废 ...
- Python数据可视化之Matplotlib实现各种图表
数据分析就是将数据以各种图表的形式展现给领导,供领导做决策用,因此熟练掌握饼图.柱状图.线图等图表制作是一个数据分析师必备的技能.Python有两个比较出色的图表制作框架,分别是Matplotlib和 ...
- Python数据可视化利器Matplotlib,绘图入门篇,Pyplot介绍
Pyplot matplotlib.pyplot是一个命令型函数集合,它可以让我们像使用MATLAB一样使用matplotlib.pyplot中的每一个函数都会对画布图像作出相应的改变,如创建画布.在 ...
- Python数据可视化库-Matplotlib(二)
我们接着上次的继续讲解,先讲一个概念,叫子图的概念. 我们先看一下这段代码 import matplotlib.pyplot as plt fig = plt.figure() ax1 = fig.a ...
- Python数据可视化之matplotlib
常用模块导入 import numpy as np import matplotlib import matplotlib.mlab as mlab import matplotlib.pyplot ...
- python数据可视化(matplotlib)
- python数据可视化-matplotlib入门(7)-从网络加载数据及数据可视化的小总结
除了从文件加载数据,另一个数据源是互联网,互联网每天产生各种不同的数据,可以用各种各样的方式从互联网加载数据. 一.了解 Web API Web 应用编程接口(API)自动请求网站的特定信息,再对这些 ...
- Python数据可视化的四种简易方法
摘要: 本文讲述了热图.二维密度图.蜘蛛图.树形图这四种Python数据可视化方法. 数据可视化是任何数据科学或机器学习项目的一个重要组成部分.人们常常会从探索数据分析(EDA)开始,来深入了解数据, ...
随机推荐
- kettle从入门到精通 第二十八课 初识kettle-job
1.前面我们一起学习了,很多转换的知识,转换为批量的开发做铺垫,今天我们一起来学习下kettle job的知识. kettle job 常用的步骤如下图,有Start.转换.作业.成功等步骤. 2.下 ...
- Easysearch Chart 0.2.0都有哪些变化
Easysearch Chart 包更新了,让我们来看看都有哪些变化: Docker 镜像升级 Service 名称调整,支持 NodePort 模式部署 现在让我们用 NodePort 模式部署一下 ...
- 面试官:为什么重写equals方法必须要重新hashCode方法?
网络上解释的很全面但是很枯涩,也有些难懂,其实就是为了保证当该对象作为key时哈希表的检索效率.如HashMap的get方法是分两步获取的 第一步通过key的哈希值找到对应的哈希桶 第二步通过equa ...
- python类和对象初识
# python类和对象初识 a = 2 b = 3 print(id(a)) print(type(a)) print(a) print(id(b)) print(type(b)) print(b) ...
- Unity 编辑器中获取选中的文件夹、文件路径
编辑器中获取选中的文件夹.文件路径 using UnityEditor; using UnityEngine; using Object = UnityEngine.Object; public cl ...
- spring事务传递特性-REQUIRES_NEW和NESTED
spring对于事务的实现的确是它的一大优点,节省了程序员不少时间. 关于事务,有许多可以聊的内容,例如实现方式.实现原理.传递特性等. 本文讨论传递特性中的REQUIRES_NEW,NESTED. ...
- typroa破解
Typora 一款 Markdown 编辑器和阅读器 风格极简 / 多种主题 / 支持 macOS,Windows 及 Linux 实时预览 / 图片与文字 / 代码块 / 数学公式 / 图表 目录大 ...
- 2023/3/21 组会:ChatGPT 对数据增强的影响及 ChatGPT 的鲁棒性,Dense 和 Document 检索方法
前两个也许跟上了,后两个完全没跟上,以后再详细读读吧qwq 反正组会跟不上才是正常现象. AugGPT: Leveraging ChatGPT for Text Data Augmentation 摘 ...
- 高通android QMI机制
高通android QMI机制 原文(有删改):https://blog.csdn.net/u012439416/category_7004974 概论 Qualcomm MSM Interface, ...
- 聊一聊 C# 弱引用 底层是怎么玩的
一:背景 1. 讲故事 最近在分析dump时,发现有程序的卡死和WeakReference有关,在以前只知道怎么用,但不清楚底层逻辑走向是什么样的,借着这个dump的契机来简单研究下. 二:弱引用的玩 ...