如何使用Python -mac-画图及设置坐标中文字体

Python 可真是一个简单好用的脚本语言。
搭建好Python环境,环境搭建就不多说,网上很多教程,我使用的anaconda。然后开始了coding之路。
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
font_set = FontProperties(fname=’/Library/Fonts/Songti.ttc’, size=15)

x1 = [2011, 2012, 2013, 2014, 2015]# Make x, y arrays for each graph
y1 = [100, 423, 934, 1600, 2542]
x2 = [2011, 2012, 2014, 2016, 2018]
y2 = [245, 466, 877, 1234, 1646]

#创建图并命名
plt.figure(‘chatView’)
ax = plt.gca()

#设置x轴、y轴名称
ax.set_xlabel(u"年",fontproperties=font_set)
ax.set_ylabel(u"收入",fontproperties=font_set)

折线图

ax.plot(x1,y1,label=u"1111", color=“r”, linewidth=2, alpha=0.6)
ax.plot(x2,y2,label=u"2222", color=‘g’, linewidth=2, alpha=0.6)

#柱状图
ax.bar(x1,y1,0.5,color = ‘orange’,alpha = 0.5)
ax.bar(x2,y2,0.5,color = ‘y’,alpha = 0.5)

#离散点
ax.scatter(x1,y1,c=‘r’,s=20,alpha=1)
ax.scatter(x2,y2,c=‘g’,s=20,alpha=1)
#显示图示
ax.legend()

plt.show()
运行效果如下图:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3,3,50) #从-1-----1之间等间隔采50个数
y = 2*x + 1;

plt.figure(‘y=2x+1’)
ax = plt.gca()
ax.plot(x,y,label=‘y=2x+1’,color=‘r’,alpha=1)
ax.spines[‘right’].set_color(‘none’)
ax.spines[‘top’].set_color(‘none’)
ax.spines[‘bottom’].set_position((‘data’, 0))
ax.spines[‘left’].set_position((‘data’, 0))

设置坐标轴的lable

#标签里面必须添加字体变量:fontproperties=‘SimHei’,fontsize=14。不然可能会乱码

plt.xlabel(u’x这是x轴’)

plt.ylabel(u’y这是y轴’)

x0 = 1
y0 = 2*x0 + 1

绘制(x0, y0)点

plt.scatter(x0, y0, s = 50, color = ‘blue’)
plt.plot([x0,x0],[y0,0],‘k–’,lw=2.5,color=‘r’)
plt.plot([x0,0],[y0,y0],‘k–’,lw=2.5,color=‘r’)
plt.annotate(r’2x+1=2 * x + 1 = %s’ % y0, xy = (x0, y0), xycoords = ‘data’, xytext = (+30, -30),
textcoords = ‘offset points’, fontsize = 16, arrowprops = dict(arrowstyle = ‘->’,
connectionstyle = ‘arc3, rad = .2’,color=‘r’))
y = x**2

plt.plot(x,y,label=‘y=x^2’,color = ‘g’,alpha=1,linewidth=2,linestyle=’–’)

x = -2
y = x**2
plt.scatter(x,y,s=50,color=‘g’)
plt.plot([x,x],[y,0],’–’,lw=2.5,color=‘g’)
plt.plot([x,0],[y,y],’–’,lw=2.5,color=‘g’)

ax.legend()

plt.show()

运行效果图:

如何使用Python -mac-画图及设置坐标中文字体