首页 后端开发 Python教程 python如何绘制降水图

python如何绘制降水图

Jun 19, 2019 am 10:10 AM
python

python能快速解决日常工作中的小任务,比如数据展示。python做数据展示,主要用到matplotlib库,使用简单的代码,就可以很方便的绘制折线图、柱状图等。使用Java等,可能还需要配合html来进行展示,十分繁琐。

python如何绘制降水图

 各种平面图的绘制代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

'''

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图的绘制代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

'''

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()

登录后复制

以上是python如何绘制降水图的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
两个点博物馆:所有展览以及在哪里可以找到它们
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
两个点博物馆:所有展览以及在哪里可以找到它们
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

怎么下载deepseek 小米 怎么下载deepseek 小米 Feb 19, 2025 pm 05:27 PM

怎么下载deepseek 小米

模板化的优点和缺点有哪些? 模板化的优点和缺点有哪些? May 08, 2024 pm 03:51 PM

模板化的优点和缺点有哪些?

Google AI 为开发者发布 Gemini 1.5 Pro 和 Gemma 2 Google AI 为开发者发布 Gemini 1.5 Pro 和 Gemma 2 Jul 01, 2024 am 07:22 AM

Google AI 为开发者发布 Gemini 1.5 Pro 和 Gemma 2

仅用250美元,Hugging Face技术主管手把手教你微调Llama 3 仅用250美元,Hugging Face技术主管手把手教你微调Llama 3 May 06, 2024 pm 03:52 PM

仅用250美元,Hugging Face技术主管手把手教你微调Llama 3

分享几个.NET开源的AI和LLM相关项目框架 分享几个.NET开源的AI和LLM相关项目框架 May 06, 2024 pm 04:43 PM

分享几个.NET开源的AI和LLM相关项目框架

golang 函数调试与分析的完整指南 golang 函数调试与分析的完整指南 May 06, 2024 pm 02:00 PM

golang 函数调试与分析的完整指南

deepseek怎么问他 deepseek怎么问他 Feb 19, 2025 pm 04:42 PM

deepseek怎么问他

NET40是什么软件 NET40是什么软件 May 10, 2024 am 01:12 AM

NET40是什么软件

See all articles