2013-02-02 21 views
5

निर्देशांक मैं इस तरह सरल साजिश है:matplotlib प्रारूप

matplotlib.pyplot as plt 

pt_no = [1,2,3] 
coord_x = [6035763.111, 6035765.251, 6035762.801] 
coord_y = [6439524.100, 6439522.251, 6439518.298] 

fig, ax = plt.subplots() 
ax.scatter(coord_y, coord_x, marker='x') 
ax.axes.get_xaxis().set_visible(False) 
ax.axes.get_yaxis().set_visible(False) 
for i, txt in enumerate(pt_no): 
    ax.annotate(txt, (coord_y[i], coord_x[i])) 

plt.show() 

लेकिन साजिश विंडो के bootom-दाएँ कोने में दिखाया गया है निर्देशांक के रूप में ले जाने या 6.43953e की तरह आंकड़ा नज़र पर कर्सर पकड़ + 06
कैसे क्या मेरे पास मेरे इनपुट निर्देशांक बिल्कुल दिखाए जा सकते हैं, उदाहरण के लिए
6439518.298 इसके बजाय 6.43953e
?
अग्रिम धन्यवाद

उत्तर

9

ax.fmt_xdata विशेषता प्रदर्शित स्ट्रिंग को स्वरूपित करने वाले फ़ंक्शन पर सेट की जा सकती है।

उदाहरण के लिए:

ax.fmt_xdata = lambda x: "{0:f}".format(x) 
ax.fmt_ydata = lambda x: "{0:f}".format(x) 
+0

धन्यवाद की स्थापना द्वारा ओवरराइड कर सकते हैं, यह मैं वास्तव में क्या चाहते थे है। – daikini

+0

लेकिन एक और सवाल: जैसा कि आप मेरे कोड की जांच करते हैं, आप देखेंगे कि मैंने अपनी साजिश को उत्तर-उन्मुख बनाने के लिए अपने समन्वय x, y के रूप में y, x को matplotlib से गुजरने वाले कुल्हाड़ियों को बदल दिया है। नतीजतन मेरे coords साजिश खिड़की में उलटा प्रदर्शन कर रहे हैं। क्या इसे आसानी से बदला जा सकता है? – daikini

7

तुम भी पूरी तरह से डिफ़ॉल्ट लेबलिंग format_coord

ax.format_coord = lambda x, y: "({0:f}, ".format(y) + "{0:f})".format(x) 

example, api doc

+0

बहुत बहुत धन्यवाद यह बहुत अच्छा संकेत है, जो मुझे इस मामले में आवश्यक सब कुछ प्राप्त करने की अनुमति देगा। – daikini