pandas通过pd导入的数据明明都是一样大,对于作图时还是会出现不同的问题。
其实标蓝部分的三个数据都是100*100的,但是它是Dataframe格式的,所以画图时还是建议将其转为numpy中的array类型:网上帖子大概有三种方法。
import pandas as pd
pd.read_excel(r'1.xlsx', header=None)
import numpy as np
#注意这里的header=None十分重要,
#它可以防止pd导入纯数据时把你的第一行修改作为列标签
1、df.values
2、df.as_matrix()
3、np.array(df)
然后记录一点python画图的例子
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
#画三维图
fig1 = plt.figure(1)
ax1 = plt.axes(projection='3d')
ax1.plot_surface(x1, x2, Jpdf, cmap='rainbow')
ax1.set_xlabel('$X_1$')
ax1.set_ylabel('$X_2$')
ax1.set_zlim3d(zmin=0, zmax=0.2)
plt.title('JPDF')
#画2维图
fig3 = plt.figure(2)
plt.plot(mcx1, mcpdf1, color='black', label='1', linewidth=4)
plt.plot(gmmx1, gmmpdf1, color='red', label='2', linewidth=4, linestyle='--')
plt.title('mm')
plt.xlabel('$X_1$')
plt.ylabel('$X_2$')
plt.legend()
#最后一定要注意你他亮的得展示图像啊!!!!!
plt.ioff()
plt.show()