视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
python如何绘制降水图
2020-11-27 14:08:13 责编:小采
文档
 python能快速解决日常工作中的小任务,比如数据展示。python做数据展示,主要用到matplotlib库,使用简单的代码,就可以很方便的绘制折线图、柱状图等。使用Java等,可能还需要配合html来进行展示,十分繁琐。

各种平面图的绘制代码:

'''
File Name: draw
Description: 图形绘制。十分有用,对于工作中实验性的项目,可以快速展示效果。如果使用java,还需要配合前端展示。
'''
import matplotlib.pyplot as plt
import numpy as np # 模块取别名
# 直方图
def draw_hist():
 mu = 100
 sigma = 20
 x = mu + sigma * np.random.randn(20000) # 样本数量
 plt.hist(x, bins=100, color='green', normed=True) # bins:显示有几个直方,normed是否对数据进行标准化
 plt._show()
# 条形图
def draw_bar():
 y = [20, 10, 30, 25, 15] # Y轴数据
 index = np.arange(5) # X轴数据,也可以是index = [0,5]
 plt.bar(left=index, height=y, color='blue', width=0.5)
 plt.show()
# 折线图
def draw_plot():
 x = np.linspace(-10, 10, 100) # -10到10,100个点
 y = x ** 3 # x的3次幂
 plt.plot(x, y, linestyle='--', color='orange', marker='<')
 plt.xlabel('X')
 plt.ylabel('Y')
 plt.show()
# 散点图
def draw_scatter():
 x = np.random.randn(1000)
 y = x + np.random.randn(1000) * 0.5
 plt.scatter(x, y, s=5, marker='<') # s表示面积,marker表示图形
 plt.show()
# 饼状图
def draw_pie():
 labels = 'A', 'B', 'C', 'D' # 4个模块
 fracs = [15, 30, 45, 10] # 每个模块占比例
 plt.axes(aspect=1) # 使x、y轴比例相同
 explode = [0, 0.5, 0, 0] # 突出某一部分区域
 plt.pie(x=fracs, labels=labels, autopct='%.0f%%', explode=explode) # autopct显示百分比
 plt.show()
# 带图例
def draw_with_legend():
 x = np.arange(1, 11, 1) # x轴坐标,1开始,11结束,步长为1
 plt.plot(x, x * 2) # 第一条线,x,y坐标
 plt.plot(x, x * 3)
 plt.plot(x, x * 4)
 plt.legend(['Normal', 'Fast', 'Faster']) # 设置图例,与上面的线对应
 plt.grid(True, color='green', linestyle='--', linewidth=1) # 绘制网格
 plt.show()
# start
if __name__ == '__main__':
 # draw_hist()
 # draw_bar()
 draw_plot()
 # draw_scatter()
 # draw_pie()
 # draw_with_legend()

3D图的绘制代码:

'''
File Name: draw_3d
Description: 3D绘图
'''
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 3D 绘制
def draw_3D():
 fig = plt.figure() # 定义一个窗口
 ax = Axes3D(fig) # 绘制3D坐标
 # 设置x、y、z的值
 x = np.arange(-4, 4, 0.25)
 y = np.arange(-4, 4, 0.25)
 x, y = np.meshgrid(x, y) # x-y 平面的网格
 r = np.sqrt(x ** 2 + y ** 2)
 z = np.sin(r) # z值
 # 做出一个三维曲面,并将一个 colormap rainbow 填充颜色,之后将三维图像投影到 XY 平面上做一个等高线图
 # rstride 和 cstride 分别代表 row 和 column 的跨度。
 ax.plot_surface(x, y, z, rstride=1, cstride=1, cmap=plt.get_cmap('rainbow'))
 # 添加 XY 平面的等高线
 ax.contourf(x, y, z, zdir='z', offset=-2, cmap=plt.get_cmap('rainbow'))
 ax.set_zlim(-2, 2)
 plt.show() # 展示
# start
if __name__ == '__main__':
 draw_3D()

下载本文
显示全文
专题