在散点图的pyplot文档中:
matplotlib.pyplot.scatter(x, y, s=20, c='b', marker='o', cmap=None, norm=None,
vmin=None, vmax=None, alpha=None, linewidths=None,
faceted=True, verts=None, hold=None, **kwargs)
Run Code Online (Sandbox Code Playgroud)
标记大小
s:以磅为单位的大小^ 2.它是一个标量或与x和y长度相同的数组.
什么样的单位points^2?这是什么意思?是否s=100意味10 pixel x 10 pixel?
基本上我正在尝试制作具有不同标记大小的散点图,我想弄清楚这个s数字是什么意思.
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
im = np.array(Image.open('dog.png'), dtype=np.uint8)
plt.imshow(im)
Run Code Online (Sandbox Code Playgroud)
我不知道接下来要做什么.
我正在尝试在matplotlib中为散点图创建自定义标记,其中标记是具有固定高度和不同宽度的矩形.每个标记的宽度是y值的函数.我尝试使用此代码作为模板,并假设如果顶点给出N个二维元组的列表,它会绘制具有相应第一个值的宽度和第二个值的高度的矩形(可能这已经错了,但那么我怎么做到这一点?).
我有一个x和y值列表,每个值包含以度为单位的角度.然后,我计算每个标记的宽度和高度
field_size = 2.
symb_vec_x = [(field_size / np.cos(i * np.pi / 180.)) for i in y]
symb_vec_y = [field_size for i in range(len(y))]
Run Code Online (Sandbox Code Playgroud)
并构建顶点列表并绘制所有内容
symb_vec = list(zip(symb_vec_x, symb_vec_y))
fig = plt.figure(1, figsize=(14.40, 9.00))
ax = fig.add_subplot(1,1,1)
sc = ax.scatter(ra_i, dec_i, marker='None', verts=symb_vec)
Run Code Online (Sandbox Code Playgroud)
但结果图是空的,但没有错误信息.任何人都可以告诉我在定义顶点时做错了什么以及如何正确操作?谢谢!