matplotlib:横向柱状图+折线图

matplotlib画图

  • fig, ax = plt.subplots(figsize = (a, b))解析
  • 一些中文字体的英文名
  • 横向柱状图+折线图

fig, ax = plt.subplots(figsize = (a, b))解析

https://blog.csdn.net/tefuirnever/article/details/93724227

一些中文字体的英文名

https://www.lizenghai.com/archives/24868.html

横向柱状图+折线图

"""
====================
Horizontal bar chart
====================

This example showcases a simple horizontal bar chart.
"""
import matplotlib.pyplot as plt
plt.rcdefaults()
import numpy as np
import matplotlib.pyplot as plt
#import matplotlib
#matplotlib.rcParams['font.family'] = 'sans-serif'  
#matplotlib.rcParams['font.sans-serif'] = 'NSimSun,Times New Roman'

plt.rcParams['font.sans-serif']=['SimHei']

figsize = 11,9
plt.rcdefaults()
fig, ax = plt.subplots(figsize=figsize)

A,=ax.plot([28,2],[1-1,8-1],color='#9999ff', linewidth=2)

font1 = {
     'family' : 'Times New Roman',
        'weight' : 'normal',
        'size'   : 23,
        }

# Example data
people = ('8', '7', '6', '5', '4', '3', '2', '1')
y_pos = np.arange(len(people))
#performance = 3 + 10 * np.random.rand(len(people))
performance = (28, 27, 23, 18, 13, 9, 5, 2)
error = np.random.rand(len(people))

B= ax.barh(y_pos, performance, align='center',
                color='pink', edgecolor='#ff9999')

legend = plt.legend(handles=[A, B],prop=font1)
plt.tick_params(labelsize=23)
labels = ax.get_xticklabels() + ax.get_yticklabels()
[label.set_fontname('Times New Roman') for label in labels]

font2 = {
     'family' : 'Microsoft YaHei',
         'weight' : 'normal',
         'size'   : 24,
        }

ax.set_yticks(y_pos)
ax.set_yticklabels(people)
ax.invert_yaxis()  # labels read top-to-bottom
ax.set_xlabel('x标签', font2)
ax.set_ylabel('y标签', font2)
#ax.set_title('How fast do you want to go today?')
for i, v in enumerate(performance):
    ax.text(v + 3, i + .25, str(v), color='#9999ff', fontweight='bold')#, font=font2)
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)

fig.savefig('bar.png', format='png', transparent=True, dpi=300, pad_inches = 0)
plt.show()

你可能感兴趣的:(python,python画图)