我试图用它matplotlib
来绘制直方图,但不断遇到此错误:
MatplotlibDeprecationWarning: The resize_event function was deprecated in Matplotlib 3.6 and will be removed two minor releases later. Use callbacks.process('resize_event', ResizeEvent(...)) instead.
这是我的代码;也欢迎有关如何清理逻辑表达式的反馈。
lower_quartile = df['2020 Population'].quantile(0.25)
mid_quartile = df['2020 Population'].quantile(0.5)
upper_quartile = df['2020 Population'].quantile(0.75)
new_data = df.loc[df['2020 Population'] > lower_quartile]
final_2020_range = new_data.loc[df['2020 Population'] < upper_quartile]
check = final_2020_range['2020 Population']
plt.hist(check)
Run Code Online (Sandbox Code Playgroud) 我不知道如何将这个强转换为日期时间对象。这是我尝试过的:
import datetime
date_time_str = "2021-07-28 11:19:36.824150+00:00"
date_time_obj = datetime.datetime.strptime(date_time_str, '%y-%m-%d %H:%M:%S.%f%z')
Run Code Online (Sandbox Code Playgroud)
然而,我不断得到
ValueError:时间数据“2021-07-28 11:19:36.824150+00:00”与格式不匹配。
正确的格式是什么?
我是Python新手。几天前我安装了Anaconda和PyCharm(在D盘),我正在尝试使用该matplotlib
包来绘制一张图片。当我单击“运行”时,出现以下错误:
Traceback (most recent call last):
File "G:\onedrive\OneDrive - mail.dlut.edu.cn\PyCharm\shock wave\P6.py", line 7, in <module>
import matplotlib.pyplot as plt
File "D:\anaconda3\lib\site-packages\matplotlib\pyplot.py", line 2230, in <module>
switch_backend(rcParams["backend"])
File "D:\anaconda3\lib\site-packages\matplotlib\__init__.py", line 672, in __getitem__
plt.switch_backend(rcsetup._auto_backend_sentinel)
File "D:\anaconda3\lib\site-packages\matplotlib\pyplot.py", line 247, in switch_backend
switch_backend(candidate)
File "D:\anaconda3\lib\site-packages\matplotlib\pyplot.py", line 267, in switch_backend
class backend_mod(matplotlib.backend_bases._Backend):
File "D:\anaconda3\lib\site-packages\matplotlib\pyplot.py", line 268, in backend_mod
locals().update(vars(importlib.import_module(backend_name)))
File "D:\anaconda3\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "D:\anaconda3\lib\site-packages\matplotlib\backends\backend_qtagg.py", line 12, in <module>
from .backend_qt import (
File "D:\anaconda3\lib\site-packages\matplotlib\backends\backend_qt.py", line …
Run Code Online (Sandbox Code Playgroud) 在尝试在 Wolfram MathWorld 上重现情节并尝试帮助解决这个问题时,我遇到了一些我不明白的数值不稳定问题:
import numpy as np
import matplotlib.pyplot as plt
from scipy.special import gamma
def MLf(z, a):
"""Mittag-Leffler function
"""
k = np.arange(100).reshape(-1, 1)
E = z**k / gamma(a*k + 1)
return np.sum(E, axis=0)
x = np.arange(-50, 10, 0.1)
plt.figure(figsize=(10,5))
for i in range(5):
plt.plot(x, MLf(x, i), label="alpha = "+str(i))
plt.legend()
plt.ylim(-5, 5); plt.xlim(-55, 15); plt.grid()
Run Code Online (Sandbox Code Playgroud)
您可以在橙色线中最好地看到不稳定性a = 1
,其中 ,从大约 开始,但(蓝线)也x = -35
存在问题。a = 0
改变总和项的数量(即j
)会改变x …
我有一个看起来像这样的情节
我无法理解如何手动更改或设置颜色条的数据值范围。我想根据图中显示的数据值尝试范围,并将颜色条更改为 (-4,4)。我看到plt.clim
,vmin
和vmax
是可能使用的函数。
这是我的代码:
import cdsapi
import xarray as xr
import matplotlib.pyplot as plt
import numpy as np
import cartopy.crs as ccrs
# Also requires cfgrib library.
c = cdsapi.Client()
url = c.retrieve(
'reanalysis-era5-single-levels-monthly-means',
{
'product_type': 'monthly_averaged_reanalysis',
'format': 'grib',
'variable': ['100m_u_component_of_wind','100m_v_component_of_wind'],
'year': ['2006','2007','2008','2009','2010','2011','2012','2013','2014','2015','2016','2017','2018','2019','2020','2021'],
'month': ['01','02','03','04','05','06','07','08','09','10','11','12'],
'time': '00:00',
'grid': [0.25, 0.25],
'area': [70.00, -180.00, -40.00, 180.00],
},
"C:\\Users\\U321103\\.spyder-py3\\ERA5_MAPPING\\100m_wind_U_V.grib")
path = "C:\\Users\\U321103\\.spyder-py3\\ERA5_MAPPING\\100m_wind_U_V.grib"
ds = xr.load_dataset(path, engine='cfgrib')
wind_abs = np.sqrt(ds.u100**2 + ds.v100**2)
monthly_means = wind_abs.mean(dim='time')
wind_abs_clim = …
Run Code Online (Sandbox Code Playgroud) 我有一个随机生成的 10*10 数据集,我需要用 NaN 随机替换数据集的 10%。
import pandas as pd
import numpy as np
Dataset = pd.DataFrame(np.random.randint(0, 100, size=(10, 10)))
Run Code Online (Sandbox Code Playgroud) 我想创建桁架的图形。我有两个清单;给出了条形编号以及构成它们的节点,它看起来像这样:
\nelements = [[1, 1, 2], [2, 2, 3], [3, 3, 4], [4, 4, 5], [5, 5, 1], [6, 1, 4], [7, 2, 4], [8, 4, 6], [9, 6, 5]]\n
Run Code Online (Sandbox Code Playgroud)\n例如,元素一由节点 1 和节点 2 组成。另一个数据集给出节点及其在 2D 平面中的坐标。它看起来像这样:
\nnodes= [[1.0, 0.0, 1.2], [2.0, -1.5, 1.2], [3.0, -1.5, 0.0], [4.0, 0.0, 0.0], [5.0, 1.5, 1.2], [6.0, 1.5, 0.0]]\n
Run Code Online (Sandbox Code Playgroud)\n例如,节点 1 的坐标为 (0.0, 1.2)。
\n我想使用上面的列表通过 pyplot 重新创建以下图形。其中 A 为 1.5m,B 为 1.2m。
\n\n我想做这样的事情:
\ndef draw(nodes):\n …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用源图像创建霓虹灯效果。我包含了三张图片:来源、我当前的尝试和目标。该程序获取图像,找到白边,并计算每个像素到最近的白边的距离(这些部分都工作正常);从那里开始,我正在努力寻找正确的饱和度和值参数来创建霓虹灯。
从目标图像来看,我需要做的基本上是使白边缘的饱和度为 0,然后随着距离边缘的距离显着增加;对于值,我需要它在白边为 1,然后急剧减小。我无法找出操纵 distance_image (它保存每个像素与最近白边的距离)的最佳方法,例如通过饱和度和值实现这两个结果。
from PIL import Image
import cv2
import numpy as np
from scipy.ndimage import binary_erosion
from scipy.spatial import KDTree
def find_closest_distance(img):
white_pixel_points = np.array(np.where(img))
tree = KDTree(white_pixel_points.T)
img_meshgrid = np.array(np.meshgrid(np.arange(img.shape[0]),
np.arange(img.shape[1]))).T
distances, _ = tree.query(img_meshgrid)
return distances
def find_edges(img):
img_np = np.array(img)
kernel = np.ones((3,3))
return img_np - binary_erosion(img_np, kernel)*255
img = Image.open('a.png').convert('L')
edge_image = find_edges(img)
distance_image = find_closest_distance(edge_image)
max_dist = np.max(distance_image)
distance_image = distance_image / max_dist
hue = np.full(distance_image.shape, 0.44*180)
saturation = distance_image * …
Run Code Online (Sandbox Code Playgroud) python ×8
matplotlib ×4
numpy ×3
pandas ×2
arrays ×1
colorbar ×1
formatting ×1
opencv ×1
timestamp ×1