Matplotlib में करने के लिए मेरी पसंदीदा चीजों में से एक है लाइन-प्लॉट का उत्पादन करने के लिए रंग-चक्र को सेट करना ताकि लाइनों में रंगों की अच्छी प्रगति हो। इस तरह:Matplotlib set_color_cycle बनाम set_prop_cycle
इससे पहले, इस set_color_cycle
का उपयोग कर कोड की एक पंक्ति थी:
लेकिन, हाल ही में मैं एक चेतावनी दिखाई:
MatplotlibDeprecationWarning:
The set_color_cycle attribute was deprecated in version 1.5.
Use set_prop_cycle instead.
set_prop_cycle
का उपयोग करना, मैं एक ही परिणाम प्राप्त कर सकते हैं, लेकिन मुझे import cycler
की आवश्यकता है, और वाक्यविन्यास कम कॉम्पैक्ट है:
from cycler import cycler
colors = [plt.cm.spectral(i) for i in np.linspace(0, 1, num_lines)]
ax.set_prop_cycle(cycler('color', colors))
तो, मेरे सवाल कर रहे हैं:
मैं set_prop_cycle
सही ढंग से उपयोग कर रहा हूँ? (और सबसे कुशल तरीके से?)
क्या कलर-चक्र को रंगरूप में सेट करने का कोई आसान तरीका है? दूसरे शब्दों में, क्या इस तरह कुछ पौराणिक कार्य है?
ax.set_colorcycle_to_colormap('jet', nlines=30)
यहाँ पूरा उदाहरण के लिए कोड है:
import numpy as np
import matplotlib.pyplot as plt
ax = plt.subplot(111)
num_lines = 30
colors = [plt.cm.spectral(i) for i in np.linspace(0, 1, num_lines)]
# old way:
ax.set_color_cycle(colors)
# new way:
from cycler import cycler
ax.set_prop_cycle(cycler('color', colors))
for n in range(num_lines):
x = np.linspace(0,10,500)
y = np.sin(x)+n
ax.plot(x, y, lw=3)
plt.show()
आह में है, इसलिए अब मैं बहुत आसानी से एक फायदा तरह प्रतीत होता है कि अलग अलग रंग, linewidths, linestyles, आदि की एक पूरी संयोजन निर्दिष्ट कर सकते हैं। और भुगतान करने का एकमात्र मूल्य 8 और वर्ण है - मैं इसके साथ रह सकता हूं :)। और कोलोमाप में लिन्स स्पेस पास करने के बारे में टिप के लिए धन्यवाद। अंत में, मुझे लगता है कि आपने मुझे कुछ पात्र बचाए हैं! – DanHickstein