相关疑难解决方法(0)

具有相交轮廓线的Matplotlib等高线图

我正在尝试使用python中的matplotlib制作以下数据的等高线图.数据属于这种形式 -

# x       y      height
  77.23  22.34     56
  77.53  22.87     63
  77.37  22.54     72
  77.29  22.44     88
Run Code Online (Sandbox Code Playgroud)

数据实际上包含近10,000个点,我正在从输入文件中读取这些点.然而,z的不同可能值的集合很小(在50-90之间,整数),并且我希望每个这样的不同z具有轮廓线.

这是我的代码 -

import matplotlib
import numpy as np
import matplotlib.cm as cm
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
import csv
import sys

# read data from file
data = csv.reader(open(sys.argv[1], 'rb'), delimiter='|', quotechar='"')
x = []
y = []
z = []

for row in data:
    try:
        x.append(float(row[0]))
        y.append(float(row[1]))
        z.append(float(row[2]))
    except Exception as e:
        pass
        #print e

X, Y …
Run Code Online (Sandbox Code Playgroud)

python matplotlib contour

5
推荐指数
1
解决办法
6883
查看次数

Matplotlib:在 hexbin 图中使用最频繁值的 bin 组添加边框

我正在使用以下 Python 脚本制作一个 hexbin 图:

pitch = Pitch(
    line_color="#747474", pitch_color="#222222", orientation="vertical", half=True, plot_arrow=False
)

fig, ax = pitch.create_pitch()

## color-map
cmap = [
    "#222222", "#3A2527", "#52282B", "#6A2B30", 
    "#762C32", "#822D34", "#8E2F37", "#9A3039", 
    "#B2323D", "#BE3440", "#CA3542", "#E13746"
]
cmap = colors.ListedColormap(cmap)

hexbin = ax.hexbin(
    68 - shots_data['Y'], shots_data['X'], zorder=3, cmap=cmap,
    extent=(0, 68, 52, 104), gridsize=22, bins=13, ec="#222222", lw=3
)
Run Code Online (Sandbox Code Playgroud)

上面的代码产生以下输出:

在此处输入图片说明

现在我想用最频繁的值在六边形周围添加边框,看起来像这样。请注意,在下图中,白色边框是手绘的,以显示结果的外观。我不知道该怎么做。我应该在代码中添加什么来产生这样的结果。 在此处输入图片说明

编辑:

我得到了一些结果,但它们并不完美,这是更新后的脚本:

## Pitch obejct
pitch = Pitch(
    line_color="#747474", pitch_color="#222222", orientation="vertical", half=True, plot_arrow=False
)

## create-pitch
fig, ax = pitch.create_pitch()

## …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

5
推荐指数
1
解决办法
168
查看次数

标签 统计

matplotlib ×2

python ×2

contour ×1