python如何繪製降水圖

anonymity
發布: 2019-06-21 15:03:24
原創
7858 人瀏覽過

python能快速解決日常工作中的小任務,例如資料展示。 python做資料展示,主要用到matplotlib函式庫,使用簡單的程式碼,就可以很方便的繪製折線圖、長條圖等。使用Java等,可能還需要配合html來進行展示,十分繁瑣。

python如何繪製降水圖

 各種平面圖的繪製程式碼:

'''
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()
登入後複製

以上是python如何繪製降水圖的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!