>백엔드 개발 >파이썬 튜토리얼 >파이썬으로 강수량 지도 그리는 법

파이썬으로 강수량 지도 그리는 법

anonymity
anonymity원래의
2019-06-19 10:10:398198검색

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=&#39;--&#39;, color=&#39;orange&#39;, marker=&#39;<&#39;)
    plt.xlabel(&#39;X&#39;)
    plt.ylabel(&#39;Y&#39;)
    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=&#39;<&#39;)  # s表示面积,marker表示图形
    plt.show()
# 饼状图
def draw_pie():
    labels = &#39;A&#39;, &#39;B&#39;, &#39;C&#39;, &#39;D&#39;  # 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=&#39;%.0f%%&#39;, 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([&#39;Normal&#39;, &#39;Fast&#39;, &#39;Faster&#39;])  # 设置图例,与上面的线对应
    plt.grid(True, color=&#39;green&#39;, linestyle=&#39;--&#39;, linewidth=1)  # 绘制网格
    plt.show()
# start
if __name__ == &#39;__main__&#39;:
    # draw_hist()
    # draw_bar()
    draw_plot()
    # draw_scatter()
    # draw_pie()
    # draw_with_legend()

3D 도면용 도면 코드:

&#39;&#39;&#39;
File Name:   draw_3d
Description: 3D绘图
&#39;&#39;&#39;
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(&#39;rainbow&#39;))
    # 添加 XY 平面的等高线
    ax.contourf(x, y, z, zdir=&#39;z&#39;, offset=-2, cmap=plt.get_cmap(&#39;rainbow&#39;))
    ax.set_zlim(-2, 2)
    plt.show()  # 展示
# start
if __name__ == &#39;__main__&#39;:
    draw_3D()

위 내용은 파이썬으로 강수량 지도 그리는 법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.