في matplotlib، يمكن رسم خط بمقاطع ألوان مميزة من خلال عدة طرق. يعتمد الاختيار على عدد المقاطع الخطية المراد رسمها.
إذا كانت هناك حاجة إلى عدد قليل فقط من المقاطع الخطية، كما هو الحال في رسم المسار، فضع في اعتبارك ما يلي:
import numpy as np
import matplotlib.pyplot as plt
# Generate random data
xy = (np.random.random((10, 2)) - 0.5).cumsum(axis=0)
fig, ax = plt.subplots()
# Plot each line segment with a unique color
for start, stop in zip(xy[:-1], xy[1:]):
x, y = zip(start, stop)
ax.plot(x, y, color=plt.cm.gist_ncar(np.random.random()))
plt.show()
عند التعامل مع عدد كبير من مقاطع الخط، هناك طريقة أكثر كفاءة وهي استخدام LineCollection.
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.collections import LineCollection
# Generate random data
xy = (np.random.random((1000, 2)) - 0.5).cumsum(axis=0)
# Reshape data for compatibility with LineCollection
xy = xy.reshape(-1, 1, 2)
segments = np.hstack([xy[:-1], xy[1:]])
fig, ax = plt.subplots()
# Create a LineCollection with randomly assigned colors
coll = LineCollection(segments, cmap=plt.cm.gist_ncar)
coll.set_array(np.random.random(xy.shape[0]))
# Add the LineCollection to the plot
ax.add_collection(coll)
ax.autoscale_view()
plt.show()
في كلتا الطريقتين، يمكن تغيير خريطة الألوان المحددة عن طريق الرجوع إلى وثائق Matplotlib.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3