#graph #colormap #4d
Вопрос:
У меня есть 3 входные переменные, x y и z. Я включаю их в уравнение, чтобы получить m. Я хочу построить значения x, y и z, а затем добавить цвет, чтобы отобразить значение m.
У меня есть данные, организованные в матрицу. Как я могу это спланировать?
import pandas as pd import numpy as np import matplotlib.pyplot as plt import matplotlib as mpl step = 1/5 A = np.arange(0, 1 step, step) A.reshape((6,1,1)) B = np.arange(0, 1 step, step) B.reshape((1,1,6)) C = np.arange(0, 1 step, step) C.reshape((1,6,1)) temp_dict = { 'X' : [], 'Y' : [], 'Z' : [], 'M' : []} def dose_calculator(A, B, C): for x in A: for y in B: for z in C: temp_dict['X'].append(x) temp_dict['Y'].append(y) temp_dict['Z'].append(z) pt10 = -1 6*x 5*y 30*z -4*x**2 4*x*y 8*x*z -8*y**2 -6*y*z 2*z**2 temp_dict['M'].append(pt10) m_calculator(A, B, C) m_matrix = pd.DataFrame(temp_dict) m_matrix pd.set_option('display.float_format', lambda x: f'{x:,.2}') x = dose_matrix['X'].array y = dose_matrix['Y'].array z = m_matrix['Z'].array M = dose_matrix['M'].array X, Y, Z = np.meshgrid(x, y, z) fig = plt.figure() ax = plt.axes(projection='3d') ax.scatter3D(X, Y, Z, c=M, alpha=0.7, marker='o')
Когда я запускаю код, python возвращает ошибку: Ошибка значения: аргумент «c» содержит 216 элементов, что несовместимо с «x» и «y» размером 10077696.