Python 100个样例代码( 六 )


Python 100个样例代码

文章插图
 
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()
Python 100个样例代码

文章插图
 
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)
Python 100个样例代码

文章插图
 
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()
Python 100个样例代码

文章插图
 
大家在复现代码时,需要注意API与包的版本紧密相关,与上面版本不同的包其内的API可能与以上写法有略有差异,大家根据情况自行调整即可 。
matplotlib 绘制三维 3D 图形的方法,主要锁定在绘制 3D 曲面图和等高线图 。
72 理解 meshgrid
要想掌握 3D 曲面图,需要首先理解 meshgrid 函数 。
【Python 100个样例代码】导入包:import numpy as npimport matplotlib.pyplot as plt创建一维数组 x
nx, ny = (5, 3)x = np.linspace(0, 1, nx)x*# 结果**# array([0., 0.25, 0.5 , 0.75, 1.])*创建一维数组 y
y = np.linspace(0, 1, ny)y*# 结果**# array([0. , 0.5, 1. ])*使用 meshgrid 生成网格点:
xv, yv = np.meshgrid(x, y)xvxv 结果:
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)
Python 100个样例代码

文章插图
 
以上就是 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()
Python 100个样例代码

文章插图
 
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 100个样例代码

文章插图
 
三、 Python 习惯 26 例
75 / 返回浮点数
即便两个整数,/ 操作也会返回浮点数
In [1]: 8/5Out[1]: 1.676 // 得到整数部分
使用 //快速得到两数相除的整数部分,并且返回整型,此操作符容易忽略,但确实很实用 。
In [2]: 8//5Out[2]: 1In [3]: a = 8//5In [4]: type(a)Out[4]: int77 % 得到余数
%得到两数相除的余数:
In [6]: 8%5Out[6]: 378 ** 计算乘方
** 计算几次方
In [7]: 2**3Out[7]: 879 交互模式下的_
在交互模式下,上一次打印出来的表达式被赋值给变量 _
In [8]: 2*3.02+1Out[8]: 7.04In [9]: 1+_Out[9]: 8.0480 单引号和双引号微妙不同


推荐阅读