基于matplotlib绘制线性、散点、条形图案

本文是一篇关于matplotlib库使用的教程,包括直线、散点图、正弦波形、多图显示、条形图和散点图的绘制。通过示例代码展示了如何设置字体、颜色、线型以及坐标轴标签等,帮助理解matplotlib的基本操作。
摘要由CSDN通过智能技术生成
"""
matplotlib训练营
"""
import numpy as np
from matplotlib import pyplot as plt
import matplotlib
# fname 为 你下载的字体库路径,注意 SourceHanSansSC-Bold.otf 字体的路径,此处是把字体文件和当前执行文件放在同一目录
zhfont1 = matplotlib.font_manager.FontProperties(fname="SourceHanSansSC-Bold.otf")

def main():
    #simpleLine()
    #simpspot()
    #simpleWaveLine()
    #manyImageShow()
    #simpleBar()
    scaterImage()


def simpleLine():
    """
    直线方程
    :return:
    """
    x = np.arange(1, 10)
    y = 2 * x + 10
    plt.title("simple line demo")
    #引入中文字体,默认不识别
    plt.xlabel("X轴", fontproperties=zhfont1)
    plt.ylabel("Y")
    plt.plot(x, y)
    plt.show()

def simpspot():
    """
    蓝色散点图
    :return:

    字符 描述
    '-'      实线样式
    '--'  短横线样式
    '-.' 点划线样式
    ':'    虚线样式
    '.'    点标记
    ','    像素标记
    'o'    圆标记
    'v'    倒三角标记
    '^'    正三角标记
    '<' 左三角标记
    '>' 右三角标记
    '1'    下箭头标记
    '2'    上箭头标记
    '3'    左箭头标记
    '4'    右箭头标记
    's'    正方形标记
    'p'    五边形标记
    '*'    星形标记
    'h'    六边形标记 1
    'H'    六边形标记 2
    '+'    加号标记
    'x'    X 标记
    'D'    菱形标记
    'd'    窄菱形标记
    '|'   竖直线标记
    '_'    水平线标记

    以下是颜色的缩写:
    字符 颜色
    'b'    蓝色
    'g'    绿色
    'r'    红色
    'c'    青色
    'm'    品红色
    'y'    黄色
    'k'    黑色
    'w'    白色
    """
    x = np.arange(1, 10)
    y = 2 * x + 10
    plt.title("simple line demo")
    #引入中文字体,默认不识别
    plt.xlabel("X轴", fontproperties=zhfont1)
    plt.ylabel("Y轴", fontproperties=zhfont1)
    #ob,参数在上边说明
    plt.plot(x, y,"ob")
    plt.show()

def simpleWaveLine():
    """
    简单正玄波
    :return:
    """
    #arange的参数从1-10π,x取值的间隔是每隔0.1
    x = np.arange(1,10 * np.pi,0.1)
    y = np.sin(x)
    plt.title("simple wave line demo")
    #引入中文字体,默认不识别
    plt.xlabel("X轴", fontproperties=zhfont1)
    plt.ylabel("Y轴", fontproperties=zhfont1)
    plt.plot(x, y)
    plt.show()

def manyImageShow():
    """
    多个图展示在同一个坐标中
    :return:
    """
    #arange的参数从1-10π,x取值的间隔是每隔0.1
    x = np.arange(0,10 * np.pi,0.1)
    y = np.sin(x)
    y2 = np.cos(x)
    y3 = 0.1 * x
    plt.title("simple wave line demo")
    #引入中文字体,默认不识别
    plt.xlabel("X轴", fontproperties=zhfont1)
    plt.ylabel("Y轴", fontproperties=zhfont1)
    # 建立 subplot 网格,高为 2,宽为 1 ,第三个参数为是否在一个坐标中显示
    # 激活第一个 subplot
    plt.subplot(2,1,1)
    plt.plot(x, y,linewidth="4",linestyle=":")
    #图1和图2坐标不共用
    plt.subplot(2, 1, 2)
    #图1和图2坐标共用,可以求出两条线的交点
    #plt.subplot(2, 1, 1)
    plt.plot(x, y2, label="wave")

    plt.subplot(2, 1, 2)
    #图2和图3坐标共用,可以求出两条线的交点
    plt.plot(x, y3, label="line")
    #开启图形标签,label 生效
    plt.legend(loc='upper left')
    plt.show()

def simpleBar():
    """
    条形图展示
    :return:
    """
    x = [5,8,11]
    y = [11,8,5]
    x2 = [6,9,13]
    y2 = [7,12,15]
    plt.bar(x,y,align ="center")
    plt.bar(x2,y2,color ="red", align ="center")
    plt.title("simple bar")
    plt.xlabel("X")
    plt.ylabel("Y")
    plt.show()

def scaterImage():
   """
   散点图
   :return:
   """
   n = 100
   x = np.random.normal(0,1,n)
   y = np.random.normal(0,1,n)
   plt.plot(x,y,"o")
   plt.show()


if __name__ == '__main__':
    main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

finbarr45

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值