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


import matplotlib.pyplot as plt
import numpy as np x=np.linspace(-2*np.pi, 2*np.pi, 200)
y=np.sin(x)
y1=np.cos(x) plt.subplot(121)
plt.plot(x, y) plt.subplot(122)
plt.plot(x, y1) plt.show()
---------------------------------------------------------------------------------------
图 6.2


import matplotlib.pyplot as plt
import numpy as np radii=np.linspace(0, 1, 100)
theta=2*np.pi*radii ax=plt.subplot(111, polar=True) ax.plot(theta, radii, color='r', linestyle='-', linewidth=2) plt.show()
---------------------------------------------------------------------------------------
图 6.3


import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np radii=30*np.random.rand(100)
theta=2*np.pi*np.random.rand(100)
colors=np.random.rand(100)
size=50*radii ax=plt.subplot(111, polar=True) ax.scatter(theta, radii, s=size, c=colors, cmap=mpl.cm.PuOr, marker='*') plt.show()
---------------------------------------------------------------------------------------
图 6.4


import matplotlib.pyplot as plt
import numpy as np fig=plt.figure() x=np.linspace(0.0, 2*np.pi)
y=np.cos(x)*np.sin(x) ax1=fig.add_subplot(121)
ax1.margins(0.03)
ax1.plot(x, y, ls='-', lw=2, color='b') ax2=fig.add_subplot(222)
ax2.margins(0.7, 0.7)
ax2.plot(x, y, ls='-', lw=2, color='r') ax3=fig.add_subplot(224)
ax3.margins(x=0.1, y=0.3)
ax3.plot(x, y, ls='-', lw=2, color='g') plt.show()
---------------------------------------------------------------------------------------
图 6.5


import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams["font.sans-serif"]=['SimHei']
mpl.rcParams["axes.unicode_minus"]=False plt.subplot2grid((2, 3), (0, 0), colspan=2) x=np.linspace(0.0, 4.0, 100)
y=np.random.randn(100)
plt.scatter(x, y, c="c")
plt.title("散点图", fontsize=10) plt.subplot2grid((2, 3), (0, 2))
plt.title("空白绘图区域", fontsize=10) plt.subplot2grid((2, 3), (1, 0), colspan=3)
x=np.linspace(0.0, 4.0, 100)
y1=np.sin(x)
plt.plot(x, y1, lw=2, ls="-")
plt.xlim(0, 3)
plt.grid(True, ls=":", c='r')
plt.title("折线图", fontsize=10) plt.suptitle("subplot2grid()函数的实例展示", fontsize=15) plt.show()
---------------------------------------------------------------------------------------
图 6.6


import matplotlib.pyplot as plt
import numpy as np from matplotlib.gridspec import GridSpec fig=plt.figure()
gs=GridSpec(2, 2) box={"facecolor":"lightgreen", "pad":3, "alpha":0.2} x1=np.arange(0, 1e5, 500)
ax1=fig.add_subplot(gs[0, :], facecolor="yellowgreen")
ax1.plot(x1, "k--", lw=2)
ax1.set_ylabel("YLabel0,0-1", bbox=box)
ax1.set_xlabel("XLabel0,0-1", bbox=box)
ax1.yaxis.set_label_coords(-0.1, 0.5) x2=np.linspace(0, 1000, 10)
y2=np.arange(1, 11, 1)
ax2=fig.add_subplot(gs[1, 0], facecolor="cornflowerblue")
ax2.scatter(x2, y2, s=20, c="grey", marker="s", linewidths=2, edgecolors="k")
ax2.set_ylabel("YLabel10", bbox=box)
ax2.set_xlabel("XLabel10", bbox=box)
for ticklabel in ax2.get_xticklabels():
ticklabel.set_rotation(45)
ax2.yaxis.set_label_coords(-0.25, 0.5)
ax2.xaxis.set_label_coords(0.5, -0.25) x3=np.linspace(0, 10, 100)
y3=np.exp(-x3)
ax3=fig.add_subplot(gs[1, 1])
ax3.errorbar(x3, y3, fmt="b-", yerr=0.6*y3, ecolor="lightsteelblue",
elinewidth=2, capsize=0, errorevery=5)
ax3.set_ylabel("YLabel11", bbox=box)
ax3.set_xlabel("XLabel11", bbox=box)
ax3.xaxis.set_label_coords(0.5, -0.25)
ax3.set_ylim(-0.1, 1.1)
ax3.set_yticks(np.arange(0, 1.1, 0.1)) gs.tight_layout(fig) plt.show()
---------------------------------------------------------------------------------------
图 6.7


import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams["font.sans-serif"]=["FangSong"]
mpl.rcParams["axes.unicode_minus"]=False font_style=dict(fontsize=18, weight="black") x=np.linspace(0, 2*np.pi, 500)
y=np.sin(x)*np.cos(x) fig, ax=plt.subplots(1, 1, subplot_kw=dict(facecolor="cornflowerblue")) ax.plot(x, y, "k--", lw=2)
ax.set_xlabel("时间(秒)", **font_style)
ax.set_ylabel("振幅", **font_style)
ax.set_title("简单折线图", **font_style) ax.set_xlim(0, 2*np.pi)
ax.set_ylim(-0.65, 0.65) ax.grid(ls=":", lw=1, color="gray", alpha=0.8) plt.show()
---------------------------------------------------------------------------------------
图 6.8


import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams["font.sans-serif"]=["FangSong"]
mpl.rcParams["axes.unicode_minus"]=False font_style=dict(fontsize=18, weight="black") x=np.linspace(0, 2*np.pi, 500)
y=np.sin(x)*np.exp(-x) fig, ax=plt.subplots(1, 2, sharey=True) ax1=ax[0]
ax1.plot(x, y, "k--", lw=2)
ax1.set_title("折线图")
ax1.grid(ls=":", lw=1, color="gray", alpha=0.8) ax2=ax[1]
ax2.scatter(x, y, s=10, c="skyblue", marker="o")
ax2.set_title("散点图") plt.suptitle("创建一张画布和两个子区的绘图模式", **font_style) plt.show()
---------------------------------------------------------------------------------------
图 6.9


import matplotlib.pyplot as plt
import numpy as np fig, ax=plt.subplots(2, 3) colors=["#8dd3c7", "#ffffb3", "#bebada"] ax[0, 0].bar([1, 2, 3], [0.6, 0.2, 0.8], color=colors,
width=0.5, hatch="///", align="center") ax[0, 0].errorbar([1, 2, 3], [0.6, 0.2, 0.8], yerr=0.1,
capsize=0, ecolor="#377eb8", fmt="o:") ax[0, 0].set_ylim(0, 1.0) ax[0, 1].errorbar([1, 2, 3], [20, 30, 36], xerr=2, ecolor="#4daf4a",
elinewidth=2, fmt="s", label="ETN")
ax[0, 1].legend(loc=3, fancybox=True, shadow=True,
fontsize=10, borderaxespad=0.4)
ax[0, 1].set_ylim(10, 40)
ax[0, 1].set_xlim(-2, 6)
ax[0, 1].grid(ls=":", lw=1, color="grey", alpha=0.5) x3=np.arange(1, 10, 0.5)
y3=np.cos(x3)
ax[0, 2].stem(x3, y3, basefmt="r-", linefmt="b-.",
markerfmt="bo", label="life signal")
ax[0, 2].legend(loc=2, fontsize=7, frameon=False, borderpad=0.0, borderaxespad=0.6)
ax[0, 2].set_xlim(0, 11)
ax[0, 2].set_ylim(-1.1, 1.1) x4=np.linspace(0, 2*np.pi, 500)
x4_1=np.linspace(0, 2*np.pi, 1000)
y4=np.cos(x4)*np.exp(-x4)
y4_1=np.sin(2*x4_1)
line1, line2=ax[1, 0].plot(x4, y4, "k--", x4_1, y4_1, "r-", lw=2)
ax[1, 0].legend((line1, line2), ("energy", "patience"), loc="upper center",
fontsize=6, ncol=2, framealpha=0.3, mode="expand",
columnspacing=2, borderpad=0.1)
ax[1, 0].set_ylim(-2, 2)
ax[1, 0].set_xlim(0, 2*np.pi) x5=np.random.rand(100)
ax[1, 1].boxplot(x5, vert=False, showmeans=True, meanprops=dict(color="g"))
ax[1, 1].set_yticks([])
ax[1, 1].set_xlim(-1.1, 1.1)
ax[1, 1].set_ylabel("Micro SD Card")
ax[1, 1].text(-1.0, 1.2, "net weight", fontsize=15, style="italic",
weight="black", family="monospace") mu=0.0
sigma=1.0
x6=np.random.randn(10000)
n, bins, patches=ax[1, 2].hist(x6, bins=30, histtype="stepfilled",
cumulative=True, normed=True, color="cornflowerblue", label="Test") y=((1/(np.sqrt(2*np.pi)*sigma))*np.exp(-0.5*(1/sigma*(bins-mu))**2))
y=y.cumsum()
y/=y[-1] ax[1, 2].plot(bins, y, "r--", linewidth=1.5, label="Theory")
ax[1, 2].set_ylim(0.0, 1.1)
ax[1, 2].grid(ls=":", lw=1, color="grey", alpha=0.5)
ax[1, 2].legend(loc="upper left", fontsize=8, shadow=True, fancybox=True, framealpha=0.8) plt.subplots_adjust() 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 表输出 分区/分片
1.之前第九章有讲过kettle 表输出步骤,里面有简单的提到过表输出步骤里面的表分区设置,这里详细介绍下. 表分区数据:选择此选项可根据"分区"字段中指定的日期字段的值将数据拆分 ...
- 通过 Canal 将 MySQL 数据实时同步到 Easysearch
Canal 是阿里巴巴集团提供的一个开源产品,能够通过解析数据库的增量日志,提供增量数据的订阅和消费功能.使用 Canal 模拟成 MySQL 的 Slave,实时接收 MySQL 的增量数据 bin ...
- ftl生成模板并从前台下载
1.生成模板的工具类 package com.jesims.busfundcallnew.util; import freemarker.template.Configuration; import ...
- JavaScript中如何终止forEach循环&跳出for(双层)循环?
在JavaScript中,forEach方法是用于遍历数组的,通常没有直接终止循环的机制.然而,我们可以使用一些技巧来模拟终止forEach循环.以下是几种常见的方法 1.使用return语句:在fo ...
- LocalDateTime应用比较日期
//需求1:当天的日期且时间在9~24点之间的开始时间 LocalDateTime nowTime= LocalDateTime.now(); int year = nowTime.getYear() ...
- 开源云同步的markdown写作软件——Yosoro
文章目录 前言 简便的项目管理 舒服的写作体验 支持one driver 存在缺点 前言 Yosoro是一款支持在Win.Linux.macOS上使用的写作软件.它的界面设计以及交互上表达出的极简主义 ...
- 认真学习css3-2-css的选择器
关于有哪些选择器,具体可以查看w3school. 本文写了一个考卷的例子,带有部分js,jquery.不会针对每个选择器做示例,只练习了一些常用的,有意思的. 先看html/js代码: <!DO ...
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Ads Kit
1.问题描述: 开屏广告效果最好的实现方式? 解决方法: 1.动画效果和开发者的实现方式有关,和开屏广告页面本身没什么关系的: 2.示例代码中使用Router跳转的方式展示广告,主要是用于演示广告接口 ...
- Bike Sharing Analysis(一)- 探索数据
1. Bike Sharing Analysis 在这章主要介绍如何分析共享单车服务数据,以及如何基于时间.天气状态特征来识别单车的使用模式.除此之外,我们还会引入可视化分析,假设检验.以及时间序列分 ...
- 深入理解Spring AOP中的@EnableAspectJAutoProxy
本文分享自华为云社区<Spring高手之路20--深入理解@EnableAspectJAutoProxy的力量>,作者: 砖业洋__. 1. 初始调试代码 面向切面编程(AOP)是一种编程 ...