所以我是python的新手,我有一个制作轮廓图的项目。我在xlsx中有一个数据,其中包含x
,y
和z
值。 x
和 y
是坐标,而 z
是测量值。
1. x ; y ; z
2. 110.4482 ; 7.04428 ; 0.177
3. 110.4451 ; 7.04366 ; 0.102
4. 110.4432 ; 7.04432 ; 0.482
5. 110.4407 ; 7.04434 ; 0.504
我想绘制This这样的轮廓 我试图绘制轮廓,但是运行时它出现空白图片This
和注释:
warnings.warn(“未找到轮廓线级别”
用户警告:在数据范围内未找到轮廓级别。
xa [xa <0] = -1 RuntimeWarning:较少遇到的无效值
:usr / local / lib / python3.6 / dist-packages / matplotlib / contour.py:1243: 用户警告:在数据范围内未找到轮廓级别。
warnings.warn(“未找到轮廓线级别
这是我使用的代码:
import numpy as np
import pandas as pd
import matplotlib as ml
import matplotlib.pyplot as plt
from scipy.interpolate import griddata
xlsx_path =('Book1.xlsx')
df = pd.read_excel(xlsx_path)
x = df.iloc[1:20,0]
y = df.iloc[1:20,1]
z = df.iloc[1:20,2]
xi = np.linspace(6, 8, 20)
yi = np.linspace(109, 111, 20)
zi = griddata((x, y), z, (xi[None,:], yi[:,None]), method='cubic')
plt.contour(xi, yi, zi)
plt.show()
我该如何解决?
答案 0 :(得分:1)
Q :我该如何解决?
只需交换并调整x, y
范围,就可以尝试绘制其中的制表z
值的立方轮廓线。
您绘制了一个“ 错误”-(数据定义不正确)区域,在该区域中没有z
级轮廓已经发展到可以计算较少的显示量。
xi = np.linspace( 6, 8, 20) # actual data-values are ~ ( 110.437 : 110.448 )
yi = np.linspace(109, 111, 20) # actual data-values are ~ ( 7.042 : 7.050 )