文章插图
69 seaborn
导入包:
import seaborn as snssns.__version__ *# '0.8.0'*
绘制图:sns.barplot([0, 1, 2, 3, 4, 5],[1.5, 1, -1.3, 0.7, 0.8, 0.9])sns.pointplot([0, 1, 2, 3, 4, 5],[2, 0.5, 0.7, -1.2, 0.3, 0.4])plt.show()
文章插图
70 plotly 绘图
导入包:
import plotlyplotly.__version__ *# '2.0.11'*
绘制图(自动打开html):import plotly.graph_objs as goimport plotly.offline as offlinepyplt = offline.plotsca = go.Scatter(x=[0, 1, 2, 3, 4, 5],y=[1.5, 1, -1.3, 0.7, 0.8, 0.9])bar = go.Bar(x=[0, 1, 2, 3, 4, 5],y=[2, 0.5, 0.7, -1.2, 0.3, 0.4])fig = go.Figure(data = https://www.isolves.com/it/cxkf/yy/Python/2020-06-11/[sca,bar])pyplt(fig)
文章插图
71 pyecharts
导入包:
import pyechartspyecharts.__version__ *# '1.7.1'*
绘制图(自动打开html):bar = (Bar().add_xaxis([0, 1, 2, 3, 4, 5]).add_yaxis('ybar',[1.5, 1, -1.3, 0.7, 0.8, 0.9]))line = (Line().add_xaxis([0, 1, 2, 3, 4, 5]).add_yaxis('yline',[2, 0.5, 0.7, -1.2, 0.3, 0.4]))bar.overlap(line)bar.render_notebook()
文章插图
大家在复现代码时,需要注意API与包的版本紧密相关,与上面版本不同的包其内的API可能与以上写法有略有差异,大家根据情况自行调整即可 。
matplotlib 绘制三维 3D 图形的方法,主要锁定在绘制 3D 曲面图和等高线图 。
72 理解 meshgrid
要想掌握 3D 曲面图,需要首先理解 meshgrid 函数 。
【Python 100个样例代码】
导入包:import numpy as npimport matplotlib.pyplot as plt
创建一维数组 xnx, ny = (5, 3)x = np.linspace(0, 1, nx)x*# 结果**# array([0., 0.25, 0.5 , 0.75, 1.])*
创建一维数组 yy = np.linspace(0, 1, ny)y*# 结果**# array([0. , 0.5, 1. ])*
使用 meshgrid 生成网格点:xv, yv = np.meshgrid(x, y)xv
xv 结果:array([[0., 0.25, 0.5 , 0.75, 1.],[0., 0.25, 0.5 , 0.75, 1.],[0., 0.25, 0.5 , 0.75, 1.]])
yv 结果:array([[0. , 0. , 0. , 0. , 0. ],[0.5, 0.5, 0.5, 0.5, 0.5],[1. , 1. , 1. , 1. , 1. ]])
绘制网格点:plt.scatter(xv.flatten(),yv.flatten(),c='red')plt.xticks(ticks=x)plt.yticks(ticks=y)
文章插图
以上就是 meshgrid 功能:创建网格点,它是绘制 3D 曲面图的必用方法之一 。
73 绘制曲面图
导入 3D 绘图模块:
from mpl_toolkits.mplot3d import Axes3D
生成X,Y,Z*# X, Y *x = np.arange(-5, 5, 0.25)y = np.arange(-5, 5, 0.25)X, Y = np.meshgrid(x, y)*# x-y 平面的网格*R = np.sqrt(X ** 2 + Y ** 2)*# Z*Z = np.sin(R)
绘制 3D 曲面图:fig = plt.figure()ax = Axes3D(fig)plt.xticks(ticks=np.arange(-5,6))plt.yticks(ticks=np.arange(-5,6))ax.plot_surface(X, Y, Z, cmap=plt.get_cmap('rainbow'))plt.show()
文章插图
74 等高线图
以上 3D 曲面图的在 xy平面、 xz平面、yz平面投影,即是等高线图 。
xy 平面投影得到的等高线图:
fig = plt.figure()ax = Axes3D(fig)plt.xticks(ticks=np.arange(-5,6))plt.yticks(ticks=np.arange(-5,6))ax.contourf(X, Y, Z, zdir='z', offset=-1, cmap=plt.get_cmap('rainbow'))plt.show()
文章插图
三、 Python 习惯 26 例
75 / 返回浮点数
即便两个整数,/ 操作也会返回浮点数
In [1]: 8/5Out[1]: 1.6
76 // 得到整数部分使用 //快速得到两数相除的整数部分,并且返回整型,此操作符容易忽略,但确实很实用 。
In [2]: 8//5Out[2]: 1In [3]: a = 8//5In [4]: type(a)Out[4]: int
77 % 得到余数%得到两数相除的余数:
In [6]: 8%5Out[6]: 3
78 ** 计算乘方** 计算几次方
In [7]: 2**3Out[7]: 8
79 交互模式下的_在交互模式下,上一次打印出来的表达式被赋值给变量 _
In [8]: 2*3.02+1Out[8]: 7.04In [9]: 1+_Out[9]: 8.04
80 单引号和双引号微妙不同
推荐阅读
- 用Python从头开始实现简单遗传算法
- Pyqtgraph是Python平台上一种功能强大的2D/3D绘图库
- 这个小众网站,竟包含有100种实用工具,还能手把手教你修电脑
- Python的10个神奇的技巧
- 程序员用Python实现自动化控制键盘和鼠标
- 退休|49岁投了1000份简历没有找到工作,怎样才能工作到65岁?
- Python语法之Django框架-安装
- 一篇文章搞定Python连接mysql数据库模块PyMySQL
- 一篇文章搞懂Python协程
- 十几行Python代码轻松实现txt转xls,方便快捷