मैंने एक बार प्लॉट की साजिश रची है। मैं चाहता हूं कि यैक्सिस प्रतिशत में मान प्रदर्शित करें।

मेरा कोड:

import matplotlib.ticker as mtick

df = 
     name    qty
0    Aple    200
1    Bana    67
2    Oran    10
3    Mang    8

ax=plt.bar(df['name'],df['qty'])
ax.yaxis.set_major_formatter(mtick.PercentFormatter())
plt.show()

वर्तमान आउटपुट:

ax.yaxis.set_major_formatter(mtick.PercentFormatter())

AttributeError: 'BarContainer' object has no attribute 'yaxis'
1
Mainland 29 जिंदा 2021, 06:00
यदि आप qty मानों को प्रतिशत के रूप में चाहते हैं तो क्या पाई चार्ट का अधिक अर्थ नहीं होगा?
 – 
Jacob K
29 जिंदा 2021, 06:16

1 उत्तर

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

plt.bar अक्ष उदाहरण वापस नहीं करता है। मुझे लगता है तुम्हारा मतलब:

ax = df.plot.bar(x='name',y='qty')
ax.yaxis.set_major_formatter(mtick.PercentFormatter())

या

fig, ax = plt.subplots()

ax.bar(df['name'],df['qty'])
ax.yaxis.set_major_formatter(mtick.PercentFormatter())

आउटपुट:

enter image description here

हालांकि, यह अनुमान लगाते हुए कि आप प्रतिशत प्लॉट करने का प्रयास कर रहे हैं, मुझे लगता है कि आप चाहते हैं:

fig, ax = plt.subplots()

# note the division here
ax.bar(df['name'],df['qty']/df['qty'].sum())
ax.yaxis.set_major_formatter(mtick.PercentFormatter())

आउटपुट:

enter image description here

1
Quang Hoang 29 जिंदा 2021, 06:13
दूसरी साजिश वह है जो मैं उम्मीद कर रहा हूं।
 – 
Mainland
29 जिंदा 2021, 06:18
1
100 :-) से गुणा करें
 – 
Quang Hoang
29 जिंदा 2021, 06:20
2
बस एहसास हुआ कि xmax=1 से PercentFormatter पास करना भी 100 से गुणा किए बिना काम करता है।
 – 
Quang Hoang
29 जिंदा 2021, 06:23
एक दम बढ़िया। मुझे यह कोशिश करने दो।
 – 
Mainland
31 जिंदा 2021, 02:10