栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python

文章目录
  • 一、matplotlib
    • 1. 相关代码操作
    • 2. 相关代码

一、matplotlib
  1. 能将数据进行可视化,更直观的呈现
  2. 使数据更加客观、更具说服力
1. 相关代码操作
  1. 直接调用matplotlib中的pyplot中的plt
    form matplotlib import pyplot as plt
  2. 数据在x轴上和y轴上都是可迭代对象
    x=[]
    y=[]
  3. 传入x,y并通过plot绘制出折现图
    plt.plot(x,y)
    plt.plot(x,y,label=’ ‘,color=’ ‘,linestyle=’ ‘,linewidth=’ ')
    label:折现的名称
    color:折线的颜色
    linestyle:线段形式
    linewidth:线条粗细
  4. 设置图片大小和清晰度:
    fig=plt.figure(figsize=(20,8),dpi=80)
  5. 调整x的刻度
    _xticks_labels=[‘10点{}分’.format(i) for i in range(60)]
    _xticks_labels+=[‘11点{}分’.format(i) for i in range(60)]
    取步长,数字和字符串一一对应,数据的长度一样,rotation代表旋转度数
  6. 设置显示中文的永久方法
    (1). 在python的安装目录中找到配置文件: %Python_Home%Libsite-packagesmatplotlibmpl-datamatplotlibrc (如,我的是在C:Python34Libsite-packagesmatplotlibmpl-data),用任意文本编辑器打开。
    (2). 找到1font.family : sans-serif将其前面的#注释号去掉
    (3).找到font.sans-serif :AR PL UMing CN, SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif将【AR PL UMing CN, SimHei】添加在最前面,其中AR PL UMing CN代表:宋体。SimHei代表:黑体。并将前面的#注释号去掉,重启编辑器后,便可显示中文了。
    (4).同时需要更改axes.unicode_minus : False;使其值为False;否则无法显示负
  7. 设置x,y轴的label以及title
    plt,xlabel()
    plt.ylabel()
    plt.title()
  8. 绘制网格
    plt.grid(alpha=’ ‘,linestyle=’:’)
    alpha:为透明度,取值区间为0-1,越小越透明
    linestyle:线段形式
  9. 绘制图例
    plt.legend(loc=‘upper left’)
    loc:代表图例添加的位置,可以是英文可以是数字
  10. 在执行程序的时候展示图
    plt.show
2. 相关代码
#coding-utf-8
# 用列表a表示10点到12点的每一分钟的气温,如何绘制折线图观察每分钟气温的变化情况
from matplotlib import pyplot as plt
import random
import matplotlib
from matplotlib import font_manager

#windos和linux设置字体的方式
# font = {'family' : 'Microsoft yahei',
#         'weight' : 'bold',
#         'size'   : 'larger'}
# matplotlib.rc('font',**font)

#另外一种设置字体大小的方式
# my_font=font_manager.FontProperties(fname=r'C:/Windows/Fonts/msyh.ttf')
x=range(0,120)
y=[random.randint(20,35) for i in range(120)]

plt.figure(figsize=(25,8),dpi=80)

#绘图
plt.plot(x,y)


#调整x的刻度
_xticks_labels=['10点{}分'.format(i) for i in range(60)]
_xticks_labels+=['11点{}分'.format(i) for i in range(60)]
#取步长,数字和字符串一一对应,数据的长度一样
plt.xticks(list(x)[::3],_xticks_labels[::3],rotation=45)

#添加描述信息
plt.xlabel('时间')
plt.ylabel('温度 单位(摄氏度)')
plt.title('10点到12点每分钟的气温变化情况')

plt.show()

运行结果:

from matplotlib import pyplot as plt
import matplotlib

x=range(1,21)
y_1=[0,1,0,2,3,5,6,2,3,1,4,5,6,7,8,1,2,3,4,1]
y_2=[0,2,1,2,3,4,12,1,1,4,6,1,2,3,1,2,3,1,3,1]



plt.figure(figsize=(20,8),dpi=80)

plt.plot(x,y_1,label='自己',color='orange',linestyle=':',linewidth=7) #linestyle:线段形式,linewidth:线条粗细
plt.plot(x,y_2,label='同桌',color='cyan',linestyle='-.')

_xticks_labels=['{}岁'.format(i) for i in range(11,31)]
# _yticks_labels=[i/2 for i in range(0,20)]
plt.xticks(x,_xticks_labels)
# plt.yticks(range(0,9))

plt.xlabel('年龄')
plt.ylabel('交女朋友数量')
plt.title('列表a')

#绘制网格
plt.grid(alpha=0.5,linestyle=':')   #alpha为透明度,取值区间为0-1,越小越透明

#添加图例(告诉别人那条线代表什么)
plt.legend(loc='upper left')  #loc代表图例添加的位置,可以是英文可以是数字

plt.show()

运行结果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/286424.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号