gpt4 book ai didi

python - matplotlib tripcolor 给出长三角形

转载 作者:太空宇宙 更新时间:2023-11-04 05:43:37 24 4
gpt4 key购买 nike

我有一系列 x、y 和 z 数据,我想用 matplotlib.tripcolor 绘制,但是当看起来应该可以制作更平衡的三角形时,我得到了一些非常长的三角形。我的数据如下所示:

x:

array([ 129., 341., 65., 210., 213., 315., 167., 251., 103.,
39., 82., 294., 146., 358., 210., 190., 211., 359.,
147., 338., 126., 275., 63., 10., 158., 306., 74.,
222., 297., 30., 262., 114., 326., 178., 30., 85.,
233., 318., 106., 21., 169., 190., 254., 42., 265.,
349., 53., 201., 338., 190., 126., 42., 254., 277.,
10., 222., 179., 31., 327., 306., 158., 243., 95.,
341., 65., 213., 2., 150., 298., 86., 234., 74.,
129., 277., 315., 103., 251., 39., 188., 336., 124.,
272., 60., 254., 85., 297., 169., 21., 53., 265.,
286., 138., 349., 201., 10., 222., 74., 167., 178.,
326., 283., 347., 199., 114., 262., 103., 167., 315.,
231., 19., 294., 82., 358., 146., 233., 42.])

y:
array([ 7.267, 8.034, 5.733, 8.034, 4.966, 7.267, 8.034, 5.733,
6.5 , 4.966, 4.966, 5.733, 6.5 , 7.267, 8.034, 6.5 ,
2.665, 1.898, 1.131, 5.733, 4.966, 4.199, 3.432, 6.5 ,
5.733, 4.966, 8.034, 7.267, 8.034, 8.034, 4.966, 5.733,
6.5 , 7.267, 8.034, 7.267, 6.5 , 4.199, 3.432, 5.733,
4.966, 1.131, 2.665, 1.898, 7.267, 4.966, 6.5 , 5.733,
5.733, 6.5 , 4.966, 7.267, 8.034, 6.5 , 6.5 , 7.267,
1.898, 2.665, 1.131, 4.966, 5.733, 3.432, 4.199, 8.034,
5.733, 4.966, 4.199, 3.432, 2.665, 1.898, 1.131, 8.034,
7.267, 6.5 , 7.267, 6.5 , 5.733, 4.966, 4.199, 3.432,
2.665, 1.898, 1.131, 8.034, 7.267, 8.034, 4.966, 5.733,
6.5 , 7.267, 3.432, 4.199, 4.966, 5.733, 1.131, 1.898,
2.665, 8.034, 7.267, 6.5 , 1.131, 2.665, 3.432, 5.733,
4.966, 1.131, 2.665, 1.898, 4.199, 3.432, 5.733, 4.966,
7.267, 6.5 , 6.5 , 7.267])

z:
array([ 330.799, 340.835, 379.063, 1303.114, 538.557, 662.126,
1205.669, 506.408, 284.009, 367.73 , 279.106, 501.668,
265.382, 753.944, 1303.114, 425.441, 456.172, 523.323,
420.912, 444.822, 317.4 , 539.05 , 304.462, 505.717,
429.093, 470.069, 677.916, 561.185, 257.518, 361.085,
1042.523, 328.222, 677.291, 554.068, 361.085, 419.371,
478.143, 510.053, 263.701, 340.502, 445.629, 433.228,
546.332, 372.264, 628.328, 448.621, 438.824, 538.858,
444.822, 425.441, 317.4 , 645.457, 871.476, 560.89 ,
505.717, 561.185, 359.103, 427.205, 645.609, 470.069,
429.093, 547.388, 273.086, 340.835, 379.063, 538.557,
473.329, 315.204, 549.825, 349.944, 466.532, 677.916,
330.799, 560.89 , 662.126, 284.009, 506.408, 367.73 ,
410.995, 487.467, 249.311, 519.988, 455.012, 871.476,
419.371, 257.518, 445.629, 340.502, 438.824, 628.328,
684.842, 396.418, 448.621, 538.858, 562.608, 580.925,
330.082, 1205.669, 554.068, 677.291, 586.144, 468.201,
379.195, 328.222, 1042.523, 137.109, 296.036, 560.577,
464.407, 428.956, 501.668, 279.106, 753.944, 265.382,
478.143, 645.457])

我使用这些命令:

plt.tripcolor(x, y, z)

plt.plot(x,y, 'ko')

我得到的情节是 this :

Tripcolor with long triangles

该图是来自圆柱面(360 度 x 轴)的数据,因此如果还有一种方法可以使该图环绕并消除边缘处的长三角形,那也很棒。

最佳答案

弄清楚如何使用原始坐标轴进行操作。我将 x 轴数据除以 35,以使 x 轴和 y 轴的刻度彼此接近。然后我用缩放后的轴数据创建一个三角形对象以获得三角测量的正确邻居,最后我在使用原始 x 轴数据绘图时使用该三角形对象。

使用上面的数据:

x2 = x/35.
triangle = matplotlib.tri.Triangulation(x2,y)
plt.tripcolor(x, y, triangle.triangles, z)

Looks like this now .

关于python - matplotlib tripcolor 给出长三角形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33009717/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com