python带标签的坐标系_python绘制标题和坐标轴标签的投影效果

这篇博客展示了如何使用Python的matplotlib库绘制一条带有简单阴影效果的正弦曲线。通过设置路径效果,为标题和坐标轴标签添加了红色的阴影,增强了视觉效果。代码中详细指定了线条样式、标签文字大小以及阴影参数。
摘要由CSDN通过智能技术生成

代码:

import numpy as np

import matplotlib.pyplot as plt

import matplotlib.patheffects as pes

x=np.linspace(0.5,3.5,100)

y=np.sin(x)

fontsize=23

plt.plot(x,y,ls='--',lw=2)

title='y=sin(x)'

xaxis_label='x_axis'

yaxis_label='y_axis'

title_text_obj=plt.title(title,fontsize=fontsize,va='bottom')

xaxis_label_text_obj=plt.xlabel(xaxis_label,fontsize=fontsize-3,alpha=1.0)

yaxis_label_text_obj=plt.ylabel(yaxis_label,fontsize=fontsize-3,alpha=1.0)

title_text_obj.set_path_effects([pes.withSimplePatchShadow()])

pe=pes.withSimplePatchShadow(offset=(1,-1),shadow_rgbFace='r',alpha=0.3)

xaxis_label_text_obj.set_path_effects([pe])

yaxis_label_text_obj.set_path_effects([pe])

plt.show()

运行结果:

你可以使用Python中的Matplotlib库和Basemap工具包来展示WGS84坐标系下的点云数据。以下是一个简单的例子,假设你的点云数据已经被存储在名为“data.txt”的文本文件中。 ```python import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from mpl_toolkits.basemap import Basemap # 读取数据 data = np.loadtxt('data.txt', delimiter=',') # 分离数据 lon, lat, h = data[:,0], data[:,1], data[:,2] # 绘制三维点云 fig = plt.figure() ax = fig.add_subplot(111, projection='3d') ax.scatter(lon, lat, h, s=5) ax.set_xlabel('Longitude') ax.set_ylabel('Latitude') ax.set_zlabel('Height') # 创建Basemap对象 m = Basemap(projection='mill', llcrnrlat=min(lat)-0.1, urcrnrlat=max(lat)+0.1, llcrnrlon=min(lon)-0.1, urcrnrlon=max(lon)+0.1, resolution='i') # 绘制地图背景 m.drawcoastlines() m.drawcountries() m.drawstates() # 投影点云到地图上 x, y = m(lon, lat) ax.scatter(x, y, h, s=5) plt.show() ``` 这个例子中,我们首先使用Numpy的`loadtxt`函数读取数据,并且分离出点的经度、纬度和高程信息。然后,我们使用Matplotlib的`Axes3D`类创建一个三维坐标轴,并且使用`scatter`函数绘制点云。接下来,我们使用Basemap工具包创建一个地图投影对象,并且使用`drawcoastlines`、`drawcountries`和`drawstates`等函数绘制地图背景。最后,我们使用`m`对象的`__call__`方法将经纬度坐标投影到地图上,然后使用`scatter`函数在地图上绘制点云。 请注意,由于WGS84坐标系是一种椭球体坐标系,因此在进行投影时需要进行坐标转换。这个例子中我们使用了Basemap工具包提供的`__call__`方法来进行投影,该方法会自动处理坐标转换。你也可以使用其他工具包(如proj4)来进行坐标转换,但需要手动编写转换代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值