python画图显示中文_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()

运行效果如下图:

20180910040047_84673.png

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轴$')

# plt.ylabel(u'$这是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'$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()

运行效果图:

20180910040449_81235.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值