तो, मैं एक स्कैटर प्लॉट बना रहा हूं, और मेरे डेटा कॉलम में से एक में बहुत से नकारात्मक मान हैं। वह मेरा y-अक्ष है।
हालांकि जब मैं प्लॉट करता हूं तो यह मेरी कुल्हाड़ियों को 0 से शुरू करता है। मैं इसे वास्तविक न्यूनतम मूल्य से कैसे शुरू करूं?
My Chart

2
Zelix75 13 जिंदा 2021, 16:35

3 जवाब

सबसे बढ़िया उत्तर

अंतर्निहित min() और max() कार्यों के साथ plt.ylim() का उपयोग करें:

import matplotlib.pyplot as plt

x = [38, -21, 37, 54, 10, 10, -40, -37, -24, 53, -10, 45, -32, -37, 12, -29, 18, 5, -45, 19, 48, 48, 27, -10, -17, -15, -25, -44, 41, -8]
y = [31, -43, -3, 18, -48, 4, -54, -34, -42, 13, 31, -4, 17, 3, 16, -30, -23, -27, -9, 13, -40, 13, 0, -41, 5, -26, 16, -9, 40, 16]

plt.ylim(min(y), max(y))
plt.scatter(x, y)
plt.show()

आउटपुट:

enter image description here

1
Ann Zen 13 जिंदा 2021, 16:40

एक त्वरित समाधान matplotlib.pyplot.ylim() हो सकता है। अपना निम्नतम y मान प्राप्त करें और इसे अपने निम्नतम y अक्ष मान के रूप में सेट करने के लिए इसमें पास करें।

matplotlib.pyplot.ylim(bottom= np.min(y_array)) जैसा कुछ।

देखें https://matplotlib.org/3.1.1/api /_as_gen/matplotlib.pyplot.ylim.html अधिक विवरण के लिए।

2
Ann Zen 13 जिंदा 2021, 16:47

अपनी सीमा निर्धारित करें।
उदाहरण के लिए: plt.ylim(-5, 5)

2
Ann Zen 13 जिंदा 2021, 16:48