<h2>使用<a href="https://numpy.org/" rel="nofollow noreferrer">numpy</a></h2>
<ul>
<li><code>list(zip(list_name, list_count))</code>将两个列表压缩为元组列表
<ul>
<li>将元组列表转换为带有<code>dtypes</code>的<a href="https://numpy.org/doc/stable/reference/generated/numpy.array.html" rel="nofollow noreferrer">^{<cd2>}</a></li>
</ul>
</li>
<li><a href="https://numpy.org/devdocs/reference/generated/numpy.sort.html" rel="nofollow noreferrer">^{<cd4>}</a>按升序排序(从最小到最大)</li>
<li><code>[::-1]</code>反转数组</li>
<li>好处是,<code>matplotlib</code>很容易接受数组,并且<code>numpy</code>列可以与其名称一起传递</李>
</ul>
<pre class="lang-py prettyprint-override"><code>import numpy as np
import matplotlib.pyplot as plt
text = ['Agriculture/Forestry/Fisheries/Veterinary Medicine', 'Architectural and Town Planning', 'Business Administration and Related']
values = [66667.0, 22283.0, 670091.5]
# get the length of the longest string in text, for the numpy str dtype
# this is only necessary if make sure the entire string is included in the array
str_len = max([len(t) for t in text])
# create numpy array with dtypes
t = np.array(list(zip(text, values)), dtype = [('text', f'S{str_len}'), ('values', int)])
# sort array
t = np.sort(t, order=['values'])[::-1]
# plot
plt.bar(x=t['text'], height=t['values'])
plt.xticks(rotation=90)
</code></pre>
<p><a href="https://i.stack.imgur.com/m0HxS.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/m0HxS.png" alt="enter image description here"/></a></p>