我有一个包含 10,000 多个 Matplotlib Polygon 对象的列表。每个多边形属于 20 个组中的 1 个。我想通过将每个唯一组映射到唯一颜色来区分多边形属于哪个组。
以下是我发现的一些与我的问题类似的帖子:
这些解决方案只是将随机颜色应用于列表中的每个形状。那不是我要找的。对我来说,属于特定组的每个形状都应该具有相同的颜色。有任何想法吗?
示例代码:
from matplotlib.collections import PatchCollection
from matplotlib.patches import Polygon
from matplotlib import pyplot as plt
patches = []
colors = []
num_polys = 10000
for i in range(num_polys):
patches.append(Polygon(poly_vertices[i], closed=True))
colors.append(poly_colors[i]) # This line is pointless, but I'm letting you know that
# I have a particular color for each polygon
fig, ax = plt.subplots()
p = PatchCollection(patches, alpha=0.25)
ax.add_collection(p) …Run Code Online (Sandbox Code Playgroud) 我使用 geopandas 创建了一张地图,但我无法在地图上添加“指北针”。
创建地图后,我尝试使用 matplotlib.image 模块添加“北箭头”并尝试了不同的方法(参见下面的示例),但没有一个提供好的结果。我正在寻找更好的代码,可以在地图上添加一个好的“指北针”
import matplotlib.image as img
from matplotlib.offsetbox import TextArea, DrawingArea, OffsetImage,
AnnotationBbox
im=img.imread(r'C:\Users\jnisengw\Dropbox\2019\Data
Science\QGIS\north_arrow1.png')
imagebox = OffsetImage(im,zoom=0.27)
ab = AnnotationBbox(imagebox, (598500,4699000))
ax.add_artist(ab)
Run Code Online (Sandbox Code Playgroud) 我正在优化N超过M预期回报水平的股票投资组合。所以在这样做之后,我得到了权重的时间序列(即一个N x M矩阵,其中每一行是特定预期回报水平的股票权重的组合)。权重加起来为 1。
现在我想绘制一个叫做投资组合构成图的东西(图片上的右图),它是这些股票权重在所有预期回报水平上的图,每个都有不同的颜色和长度(在每个回报水平)与它的重量。
我的问题是如何在 Julia(或 MATLAB)中做到这一点?