Python -mac-画图及设置坐标中文字体

iam小码哥| 阅读:5068 发表时间:2018-09-10 12:01:07 Python
摘要:最近有点闲暇时间,趁时学习一下Python,搭建好Python环境,环境搭建就不多说,网上很多教程,我使用的anaconda。然后开始了coding之路

最近有点闲暇时间,趁时学习一下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轴$')
# 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()

运行效果图:

本文为iam小码哥原创,转载请注明出处!
如果您觉得好,可以打赏作者:
如果您觉得累了,是否想看点美女养养眼:猛戳>>朋友帮
如果您觉得皮了,是否想来点神吐槽:猛戳>>iPhone查询中

已有1条评论

昵称:
邮箱:

  • 最新评论

中国律师库2018-09-12 15:50:23
财神进家门,好运进家门,有许多人会在新年时,祈求新的一年能赚大钱 中国律师库http://www.lawyerku.cn/baidu.xml
iPhone查询中 - bbs.ipcxz.com 朋友帮 - www.pengyb.cn iPhone查询中 - bbs.ipcxz.com
反馈
微信订阅号