《Python数据可视化之matplotlib实践》 源码 第二篇 精进 第五章
图 5.1


import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import AutoMinorLocator, MultipleLocator, FuncFormatter x=np.linspace(0.5, 3.5, 100)
y=np.sin(x) fig=plt.figure(figsize=(8, 8))
ax=fig.add_subplot(111) ax.xaxis.set_major_locator(MultipleLocator(1.0))
ax.yaxis.set_major_locator(MultipleLocator(1.0)) ax.xaxis.set_minor_locator(AutoMinorLocator(4))
ax.yaxis.set_minor_locator(AutoMinorLocator(4)) def minor_tick(x, pos):
if not x%1.0:
return ""
return "%.2f"%x
ax.xaxis.set_minor_formatter(FuncFormatter(minor_tick)) ax.tick_params("y", which='major',length=15, width=2.0, colors='r') ax.tick_params(which='minor', length=5, width=1.0, labelsize=10, labelcolor='0.25') ax.set_xlim(0, 4)
ax.set_ylim(0, 2) ax.plot(x, y, c=(0.25, 0.25, 1.00), lw=2, zorder=10)
# ax.plot(x, y, c=(0.25, 0.25, 1.00), lw=2, zorder=0) ax.grid(linestyle='-', linewidth=0.5, color='r', zorder=0)
# ax.grid(linestyle='-', linewidth=0.5, color='r', zorder=10)
# ax.grid(linestyle='--', linewidth=0.5, color='0.25', zorder=0) plt.show()
-------------------------------------------------------------------------------------
图 5.2


import matplotlib.pyplot as plt
import numpy as np fig=plt.figure(facecolor=(1.0, 1.0, 0.9412)) ax=fig.add_axes([0.1, 0.4, 0.5, 0.5]) for ticklabel in ax.xaxis.get_ticklabels():
ticklabel.set_color("slateblue")
ticklabel.set_fontsize(18)
ticklabel.set_rotation(30) for ticklabel in ax.yaxis.get_ticklabels():
ticklabel.set_color("lightgreen")
ticklabel.set_fontsize(20)
ticklabel.set_rotation(2) plt.show()
-------------------------------------------------------------------------------------
图 5.3


import matplotlib.pyplot as plt
import numpy as np from calendar import month_name, day_name
from matplotlib.ticker import FormatStrFormatter fig=plt.figure() ax=fig.add_axes([0.2, 0.2, 0.7, 0.7]) x=np.arange(1, 8, 1)
y=2*x ax.plot(x, y, ls='-', lw=2, color='orange', marker='o',
ms=20, mfc='c', mec='r') ax.yaxis.set_major_formatter(FormatStrFormatter(r"$\yen%1.1f$")) plt.xticks(x, day_name[0:7], rotation=20) ax.set_xlim(0, 8)
ax.set_ylim(0, 18) plt.show()
-------------------------------------------------------------------------------------
图 5.4


import matplotlib.pyplot as plt
import numpy as np x=np.linspace(0.5, 3.5, 100)
y=np.sin(x) fig=plt.figure(figsize=(8, 8))
ax=fig.add_subplot(111) ax.plot(x, y, c='b', ls='-', lw=2) ax.annotate("maximum", xy=(np.pi/2, 1.0), xycoords='data',
xytext=((np.pi/2)+0.15, 0.8), textcoords="data",
weight="bold", color='r',
arrowprops=dict(arrowstyle='->', connectionstyle='arc3', color='r')) ax.text(2.8, 0.4, "$y=\sin(x)$", fontsize=20, color='b',
bbox=dict(facecolor='y', alpha=0.5)) plt.show()
-------------------------------------------------------------------------------------
图 5.5


import matplotlib.pyplot as plt
import numpy as np x=np.linspace(0.0, 10, 40)
y=np.random.randn(40) plt.plot(x, y, ls='-', lw=2, marker='o', ms=20, mfc='orange', alpha=0.6) plt.grid(ls=':', color='gray', alpha=0.5) plt.text(6, 0, 'Matplotlib', size=30, rotation=30.0,
bbox=dict(boxstyle='round', ec='#8968CD', fc='#FFE1FF')) plt.show()
-------------------------------------------------------------------------------------
图 5.6


import matplotlib.pyplot as plt
import numpy as np x=np.linspace(0.0, 10, 40)
y=np.random.randn(40) plt.plot(x, y, ls='-', lw=2, marker='o', ms=20, mfc='orange', alpha=0.6) plt.grid(ls=':', color='gray', alpha=0.5) plt.text(1, 2, 'Matplotlib', size=50, alpha=0.5) plt.show()
-------------------------------------------------------------------------------------
图 5.7


import matplotlib.pyplot as plt
import numpy as np x=np.linspace(0, 10, 2000)
y=np.sin(x)*np.cos(x) fig=plt.figure()
ax=fig.add_subplot(111) ax.plot(x, y, ls='-', lw=2) bbox=dict(boxstyle='round', fc='#7EC0EE', ec='#9B30FF') arrowprops=dict(arrowstyle='-|>', color='r',
connectionstyle='angle, angleA=0, angleB=90, rad=10') ax.annotate("single point", (5, np.sin(5)*np.cos(5)),
xytext=(3, np.sin(3)*np.cos(3)),
fontsize=12, color='r', bbox=bbox, arrowprops=arrowprops) ax.grid(ls=":", color='gray', alpha=0.6) plt.show()
-------------------------------------------------------------------------------------
图 5.8


import matplotlib.pyplot as plt
import numpy as np x=np.linspace(0, 10, 2000)
y=np.sin(x) fig=plt.figure()
ax=fig.add_subplot(111) ax.plot(x, y, ls='-', lw=2) ax.set_ylim(-1.5, 1.5) arrowprops=dict(arrowstyle='-|>', color='r') ax.annotate("", (3*np.pi/2, np.sin(3*np.pi/2)+0.15),
xytext=(np.pi/2, np.sin(np.pi/2)+0.15), color='r', arrowprops=arrowprops) ax.arrow(0.0, -0.4, np.pi/2, 1.2, head_width=0.05, head_length=0.1, fc='g', ec='g') ax.grid(ls=':', color='gray', alpha=0.6) plt.show()
-------------------------------------------------------------------------------------
图 5.9


import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np from matplotlib.sankey import Sankey mpl.rcParams["font.sans-serif"]=['FangSong']
mpl.rcParams['axes.unicode_minus']=False flows=[0.2, 0.1, 0.4, 0.3, -0.6, -0.05, -0.15, -0.2] labels=['', '', '', '', 'family', 'trip', 'education', 'sport']
orientations=[1, 1, 0, -1, 1, -1, 1, 0] sankey=Sankey() sankey.add(flows=flows, labels=labels, orientations=orientations, color='c',
fc='lightgreen', patchlabel='Life Cost', alpha=0.7) diagrams=sankey.finish()
diagrams[0].texts[4].set_color('r')
diagrams[0].texts[4].set_weight('bold')
diagrams[0].text.set_fontsize(20)
diagrams[0].text.set_fontweight('bold') plt.title("日常生活的成本开支的流量图") plt.show()
-------------------------------------------------------------------------------------
图 5.10


import matplotlib.pyplot as plt
import matplotlib.patheffects as pes import numpy as np x=np.linspace(0.5, 3.5, 100)
y=np.sin(x) fontsize=23 plt.plot(x, y, ls='--', lw=2) title='$y=\sin({x})$'
xaxis_label='$x\_axis$'
yaxis_label="$y\_axis$" title_text_obj=plt.title(title, fontsize=fontsize, va='bottom')
xaxis_label_text_obj=plt.xlabel(xaxis_label,
fontsize=fontsize-3, alpha=1.0)
yaxis_label_text_obj=plt.ylabel(yaxis_label,
fontsize=fontsize-3, alpha=1.0) title_text_obj.set_path_effects([pes.withSimplePatchShadow()]) pe=pes.withSimplePatchShadow(offset=(1, -1), shadow_rgbFace='r', alpha=0.3) xaxis_label_text_obj.set_path_effects([pe])
yaxis_label_text_obj.set_path_effects([pe]) plt.show()
-------------------------------------------------------------------------------------
图 5.11


import matplotlib.pyplot as plt
import numpy as np x=np.linspace(0.5, 3.5, 100)
y=np.sin(x) fig=plt.figure(figsize=(8, 8))
ax=fig.add_subplot(111) box=dict(facecolor='#6959CD', pad=2, alpha=0.4)
ax.plot(x, y, c='b', ls='--', lw=2) title='$y=\sin({x})$'
xaxis_label='$x\_axis$'
yaxis_label="$y\_axis$" ax.set_xlabel(xaxis_label, fontsize=18, bbox=box)
ax.set_ylabel(yaxis_label, fontsize=18, bbox=box)
ax.set_title(title, fontsize=23, va='bottom') ax.yaxis.set_label_coords(-0.08, 0.5)
ax.xaxis.set_label_coords(1.0, -0.05) ax.grid(ls='-.', lw=1, color='gray', alpha=0.5) 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和 ...
- 重温《STL源码剖析》笔记 第五章
源码之前,了无秘密 ——侯杰 序列式容器 关联式容器 array(build in) RB-tree vector set heap map priority-queue multiset li ...
- 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)自动请求网站的特定信息,再对这些 ...
随机推荐
- 夜莺监控 V7 第二个 beta 版本发布,内置集成故障自愈能力,简化部署
经过一个半月的打磨改进,夜莺监控 V7 第二个 beta 版本发布了,本次发布的主要亮点是内置集成故障自愈能力,简化架构,同时做了其他 19 项改进.一些重要的改进如下: feat: 集成故障自愈的能 ...
- 使用 JMX-Exporter 监控 Kafka 和 Zookeeper
JVM 默认会通过 JMX 的方式暴露基础指标,很多中间件也会通过 JMX 的方式暴露业务指标,比如 Kafka.Zookeeper.ActiveMQ.Cassandra.Spark.Tomcat.F ...
- 3个月搞定计算机二级C语言!高效刷题系列进行中
前言 大家好,我是梁国庆. 计算机二级应该是每一位大学生的必修课,相信很多同学的大学flag中都会有它的身影. 我在大学里也不止一次的想要考计算机二级office,但由于种种原因,备考了几次都不了了之 ...
- redisTemplate缓存方法template code
import com.alibaba.fastjson.JSONObject; @Autowired private RedisTemplate redisTemplate; String PREFI ...
- Prime Solutions
Prime Solutions 以下是一段中学时代的惨痛回忆-每当学到排列组合的单元时,最痛苦的不是分析题目,也不是带错公式或计算错误,而是所谓的「苦工题」,以下这题是个例子:给定正整数N与S,求出方 ...
- 防止unordered_map 被卡方法
codeforces 上看到的,mark 一下代码.原作者:neal,原链接:https://codeforces.com/blog/entry/62393 struct custom_hash { ...
- 13-flex
01 flex2个重要的概念 02 flex布局模型 03 flex相关属性 04 flex container相关属性 4.1 flex direction 不同的值会改变主轴的方向 4.2 fle ...
- 如何免费在 arm 官网上下载合适的手册
背景 有时候搞底层配置的时候(尤其是uboot),需要查阅文档. 这里介绍如何在arm 官网进行查找下载,这样就可以不用去 CSDN 了. 实际上CSDN上的一些文档就是这样下载下来二次收费的,强烈谴 ...
- Freertos学习:在Posix环境仿真FreeRTOS
--- title: rtos-freertos-在Posix环境仿真FreeRTOS date: 2020-06-11 16:22:34 categories: tags: - freertos - ...
- 跟我一起学习和开发动态表单系统-前端用vue、elementui实现方法(3)
基于 Vue.Element UI 和 Spring Boot + MyBatis 的动态表单系统前端实现解析 在现代企业信息系统中,动态表单是一种非常常见的功能.它可以根据业务需求灵活地调整表单结构 ...