У меня есть набор пространственных данных, которые изначально находятся в 3 столбцах данных - x, y, z
Пожалуйста, запустите этот код и посмотрите, как выглядят данные.
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
data = pd.DataFrame(np.array([[50. , 50. , 0.3],
[55. , 25. , -1.5],
[ 6.6, 47.4, 0.1],
[35. , 34.9, 1. ],
[32.7, 56.3, 1.9]]), columns=['x', 'y', 'z'])
x = data['x']
y = data['y']
z = data['z']
def plot_sparse(x, y, z, ax, dist_max, **kwargs):
assert len(x) == len(y) == len(z), "x, y, and z must have the same dimension"
sc = ax.scatter(x, y, c=z, **kwargs)
ax.set_aspect("equal")
ax.set_xlim(0, dist_max)
ax.set_ylim(0, dist_max)
return sc
fig, ax = plt.subplots()
sc = plot_sparse(x, y, z, ax=ax, dist_max=80)
fig.colorbar(sc)
Iхочу повторить рисунок, сгенерированный с помощью meshgrid:
[X, Y] = np.meshgrid(x, y)
fig, ax = plt.subplots()
sc = ax.scatter(x, y)
ax.set_aspect("equal")
ax.set_xlim(0, 80)
ax.set_ylim(0, 80)
Но я не знаю, как встраивать значения оси z в сетку сетки.Приведенный выше код, использующий сетку сетки, не будет иметь цветовой полосы на двухмерном графике поверхности, но я хочу создать цветную полосу с использованием типа данных сетки.
Как это сделать?