Python关于excel和shp的使用在matplotlib

  • Post category:Python

以下是关于Python如何使用Matplotlib库绘制Excel表格和shp形状文件的实例教程。

Excel表格的使用

步骤一:导入所需库

import pandas as pd
import matplotlib.pyplot as plt

步骤二:读取Excel文件并处理数据

使用Pandas库读取Excel文件,并进行一些数据处理,以便后续可视化。

data = pd.read_excel('data.xlsx') # 读取Excel文件
mean = data.mean() # 求各列均值

步骤三:绘制图表

plt.bar(mean.index, mean.values) # 绘制柱状图
plt.title("Average Values of Data") # 设置标题
plt.xlabel("Columns") # 设置X轴标签
plt.ylabel("Values") # 设置Y轴标签
plt.show() # 显示图表

这个例子演示了如何读取Excel文件并使用Matplotlib库绘制柱状图。使用Pandas库处理Excel数据可以极大地简化数据处理部分的代码。

shp形状文件的使用

步骤一:导入所需库

import shapefile as shp
import matplotlib.pyplot as plt

步骤二:读取并处理shp文件

使用shapefile库读取.shp文件中的几何形状和其相应的属性。在这个例子中,我们将用Continent.shp文件演示如何绘制地图。

sf = shp.Reader('./Continent/Continent.shp') # 读取.shp文件
shapes = sf.shapes() # 读取所有几何形状
records = sf.records() # 读取所有属性

步骤三:绘制地图

使用Matplotlib库中的Polygon类和Basemap包制作地图。

fig, ax = plt.subplots(figsize=(10, 10))
# 设定地图范围并绘制边界
m = Basemap(resolution='c', projection='merc',lat_0=50, lon_0=-100, 
            llcrnrlat=0, urcrnrlat=70, llcrnrlon=-180, urcrnrlon=180)
m.drawmapboundary(fill_color='#46bcec')
# 填充颜色
for i, shape in enumerate(shapes):
    xx, yy = zip(*shape.points)
    m.plot(xx, yy, marker=None,color='white', linewidth=1,zorder=2)
    part = shape.parts
    part.append(len( xx))
    for j in range(len(shape.parts)): 
        x = xx[part[j]:part[j+1]]
        y = yy[part[j]:part[j+1]]
        ax.add_patch(Polygon(np.c_[x,y], fill=False, hatch='/', linewidth=2))
plt.title("Map of Continents")
plt.show()

这个例子演示了如何读取shp文件并使用Matplotlib库绘制地图。通过设置地图范围和使用Basemap包中的函数,我们可以绘制出包含多个国家的可视化地图。