【问题标题】:How to visualize spatial agronomical data in Python?如何在 Python 中可视化空间农艺数据?
【发布时间】:2019-06-08 13:55:55
【问题描述】:

我对 python 很陌生,我正在寻找一种方法来直观地表示我的字段值。就像一个网格热图。

我有一个看起来像这样的 excel 文件(我使用 pd.read_excel 导入):

# X Y 分数

1 1 1 44

2 2 1 37

3 3 1 0

4 3 2 100

等等。

Excel file

我知道有一种方法可以在网格中使用 2d numpy 数组,但还没有找到如何使用我的 excel 文件。

我想要最后看起来像这样的东西

Output

有人可以帮帮我吗?

提前谢谢你

【问题讨论】:

    标签: python grid data-visualization heatmap


    【解决方案1】:

    也许您正在寻找类似的东西(如果您愿意,可以更改颜色图):

    import pandas as pd
    import matplotlib.pyplot as plt
    
    df = pd.read_excel('test.xlsx')
    nrows = 2
    ncols = 2
    
    # Main Plot
    score = np.array(df["Score"]).reshape(nrows,ncols)
    plt.matshow(score,cmap=plt.cm.jet)
    
    # Grid Labels
    row_labels = range(1,nrows+1)
    col_labels = range(1,ncols+1)
    plt.xticks(range(ncols), col_labels)
    plt.yticks(range(nrows), row_labels)
    
    # Write Score
    for i in range(ncols):
        for j in range(nrows):
            print(score[i,j])
            plt.text(i, j, score[i,j], va='center', ha='center',color='white',size='20',weight='bold')
    

    【讨论】:

    • 谢谢你的回答:) 有没有办法为分数使用渐变颜色,例如,低分红色,然后中转橙色和高绿色?提前谢谢你
    • 您可以更改plt.matshow(score,cmap=plt.cm.jet) 行中的颜色图您可以在此处查看有关颜色图的更多信息:matplotlib.org/tutorials/colors/colormaps.html
    【解决方案2】:

    回复here。它使用 Xlsx Writer 使用 Excel 的条件格式功能。参见here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-08
      • 1970-01-01
      • 1970-01-01
      • 2017-12-30
      • 2018-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多