我对情节非常陌生,在格式化悬停信息时遇到了一些麻烦。我正在尝试使用hovertemplate来提供我想要的特定文本,而不是图形自动格式。我想提供日期列表以及值和一些附加文本。但是,当尝试提供日期时,它似乎没有格式化。我尝试从情节文档中做一个确切的例子,我将在下面展示。
import plotly.graph_objs as go
fig = go.Figure()
fig.add_trace(
go.Scatter(x=dict2['time'],
y=dict2['2m_temp_prod'],
mode='markers+lines',
name='Sfc Temp',
line=dict(color='red', width=4),
hovertemplate='Day: %{2019-01-01|%A}'))
Run Code Online (Sandbox Code Playgroud)
悬停文本无法正确转换日期,而是显示 Day: %{2019-01-01|%A}。有想法该怎么解决这个吗?
编辑:这是一个更可行的示例。
我从 xarray 数据数组加载一些数据并将其转换为字典。
dict2
{'time': 0 2020-08-12 00:00:00
1 2020-08-12 06:00:00
2 2020-08-12 12:00:00
3 2020-08-12 18:00:00
4 2020-08-13 00:00:00
...
56 2020-08-26 00:00:00
57 2020-08-26 06:00:00
58 2020-08-26 12:00:00
59 2020-08-26 18:00:00
60 2020-08-27 00:00:00
Name: time, Length: 61, dtype: datetime64[ns],
'2m_temp_prod': 0 84.0
1 74.0
2 71.0
3 82.0
4 79.0
...
56 79.0 …Run Code Online (Sandbox Code Playgroud) 我正在尝试将网格线添加到我使用 Cartopy 制作的地图中,但是,当我使用 Cartopy 文档中的示例代码时,它没有显示我想要的内容,我无法弄清楚如何操作它来这样做.
def plotMap():
proj = ccrs.Mercator(central_longitude=180, min_latitude=15,
max_latitude=55)
fig, ax = plt.subplots(subplot_kw=dict(projection=proj), figsize=(12,12))
ax.set_extent([255 ,115, 0, 60], crs=ccrs.PlateCarree())
ax.add_feature(cfeature.LAND, facecolor='0.3')
ax.add_feature(cfeature.LAKES, alpha=0.9)
ax.add_feature(cfeature.BORDERS, zorder=10)
ax.add_feature(cfeature.COASTLINE, zorder=10)
#(http://www.naturalearthdata.com/features/)
states_provinces = cfeature.NaturalEarthFeature(
category='cultural', name='admin_1_states_provinces_lines',
scale='50m', facecolor='none')
ax.add_feature(states_provinces, edgecolor='black', zorder=10)
#ax.gridlines(xlocs=grids_ma, ylocs=np.arange(-80,90,20), zorder=21,
draw_labels=True )
ax.gridlines(crs=ccrs.PlateCarree(), linewidth=2, color='black',
draw_labels=True, alpha=0.5, linestyle='--')
ax.xlabels_top = False
ax.ylabels_left = False
ax.ylabels_right=True
ax.xlines = True
ax.xlocator = mticker.FixedLocator([-160, -140, -120, 120, 140, 160, 180,])
ax.xformatter = LONGITUDE_FORMATTER
ax.yformatter = LATITUDE_FORMATTER
ax.xlabel_style = {'size': …Run Code Online (Sandbox Code Playgroud) 我有一个 DataArray,我想将其转换为 numpy 数组。作为参考,它是一个包含(时间、纬度、经度)的三维网格数据集。我尝试使用 xarray.DataArray.values(),但收到错误: TypeError: 'property' object is not callable。
我想将其转换为 numpy 数组,因为我使用的函数利用了重塑功能,并且无法与 DataArray 一起正常工作。我尝试使用 np.array() 将其简单地转换为 numpy 数组,但它会将每个值转换为 NaN。
datatlt=xr.open_dataset("/nfs/home11/staff/lzhou/Public/Satellite_data/RSS_Tb_Anom_Maps_ch_TLT_V4_0.nc", decode_times=False)
tlt=datatlt['brightness_temperature'].sel(months=slice(121,492))
tlt2=np.ma.masked_invalid(tlt)
tlt2=xr.DataArray.values(tlt2)
Run Code Online (Sandbox Code Playgroud) 我正在绘制一个看起来像这样的数据框。
Date 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020
Date
01 Jan 12.896 13.353 12.959 13.011 13.073 12.721 12.643 12.484 12.876 13.102
02 Jan 12.915 13.421 12.961 13.103 13.125 12.806 12.644 12.600 12.956 13.075
03 Jan 12.926 13.379 13.012 13.116 13.112 12.790 12.713 12.634 12.959 13.176
04 Jan 13.051 13.414 13.045 13.219 13.051 12.829 12.954 12.724 13.047 13.187
05 Jan 13.176 13.417 13.065 13.148 13.115 12.874 12.956 12.834 13.098 13.123
Run Code Online (Sandbox Code Playgroud)
绘图代码在这里。
ice_data_dates.plot(figsize=(20,12), title='Arctic Sea Ice Extent', lw=3, …Run Code Online (Sandbox Code Playgroud) 我有一个点列表(经度和纬度),以及它们在地理数据框中的关联点几何。所有的点都应该能够细分为单独的多边形,因为这些点通常聚集在几个区域中。我想做的是有某种算法来遍历点并检查前一个点和当前点之间的距离。如果距离足够小,它会将这些点组合在一起。这个过程会一直持续到当前点离得太远。它会从这些接近的点中创建一个多边形,然后用下一组点继续这个过程。
gdf
longitude latitude geometry
0 -76.575249 21.157229 POINT (-76.57525 21.15723)
1 -76.575035 21.157453 POINT (-76.57503 21.15745)
2 -76.575255 21.157678 POINT (-76.57526 21.15768)
3 -76.575470 21.157454 POINT (-76.57547 21.15745)
5 -112.973177 31.317333 POINT (-112.97318 31.31733)
... ... ... ...
2222 -113.492501 47.645914 POINT (-113.49250 47.64591)
2223 -113.492996 47.643609 POINT (-113.49300 47.64361)
2225 -113.492379 47.643557 POINT (-113.49238 47.64356)
2227 -113.487443 47.643142 POINT (-113.48744 47.64314)
2230 -105.022627 48.585669 POINT (-105.02263 48.58567)
Run Code Online (Sandbox Code Playgroud)
所以在上面的数据中,前 4 个点将组合在一起并变成一个多边形。然后,它将移动到下一组,依此类推。每组点不是均匀分布的,即下一组可能是 7 对点,接下来可能是 3 对。理想情况下,最终输出将是另一个地理数据框,它只是一堆多边形。