Code
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
%matplotlib inline
data=pd.read_csv(r'I:\data\data1.csv',encoding='gbk')
x=np.array([i for i in range(len(data))])
width = 0.35
plt.rcdefaults()
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus']=False
fig, ax = plt.subplots(figsize=(12,12))
ax.set_facecolor("#F9F8F6")
ax.axvline(0, color='grey', linewidth=2)
ax.barh(x - width/2, data.data1, width, align='center', edgecolor = '#373133', color='#DCD0BA')
ax.barh(x + width/2, data.data2, width, align='center', edgecolor = '#373133', color='#86B6A0')
ax.set_yticks(x)
ax.set_yticklabels(data.name)
ax.invert_yaxis()
plt.grid(axis="x")
plt.savefig('pic.png', dpi=500)
plt.show()