Python — Гладкая диаграмма рассеяния

Я следил за сообщением здесь, чтобы чтобы сгладить 3D-график рассеяния, который у меня есть.

Мой первоначальный график рассеяния:

График рассеяния

И я хотел бы получить гладкий график, подобный следующему, который был сделан с помощью Mathematica,

Гладкий сюжет

В посте, о котором я упоминал, они используют функцию трисерфинга, чтобы получить более плавный график. Так что я, хотя я мог бы использовать то же самое, чтобы получить аналогичный сюжет. Однако то, что я получаю,

Трисерфинг-участок

Как видите, триангуляция не сработала должным образом. И я не знаю, как это исправить.

Кто-нибудь знает способ решить эту проблему? Или есть ли какая-либо другая функция, которую я мог бы использовать для сглаживания графика рассеяния? Я думаю, что должен упомянуть, что моя диаграмма рассеяния - это НЕ поверхность, это объем.

Спасибо.

Просто чтобы прояснить это, я публикую свои коды для оригинала и сюжета трисерфинга, хотя там особо не на что смотреть.

График рассеяния:

S=pd.read_csv("SeparableStatesGrafica.csv",header=None,names= 
 ['P0','P1','P2','P3','P4'])
G=plt.figure().gca(projection='3d')
G.scatter(S['P1'], S['P3'], S['P0'],color='red')
G.set_xlabel("P1")
G.set_ylabel("P3")
G.set_zlabel("P0")
G.view_init(40,40)
plt.show()

Сюжет трисерфинга:

S=pd.read_csv("SeparableStatesGrafica.csv",header=None,names= 
 ['P0','P1','P2','P3','P4'])


p0=S['P0'].values
p1=S['P1'].values
p3=S['P3'].values
fig = pylab.figure(figsize=pyplot.figaspect(.96))
ax = Axes3D(fig)

ax.plot_trisurf(p1, p3, p0)
ax.set_xlabel("p1")
ax.set_ylabel("p3")
ax.set_zlabel("p0")
ax.view_init(40,40)
plt.show()

person J.Agusti    schedule 11.04.2018    source источник
comment
Это может помочь вам найти ответ, если вы опубликуете код, который вызывает проблему.   -  person Niayesh Isky    schedule 11.04.2018
comment
@NiayeshIsky Я опубликовал свой код, но не думаю, что смогу помочь, потому что это простой сюжетный код.   -  person J.Agusti    schedule 12.04.2018