尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

HoRain云--NumPy Matplotlib

HoRain云--NumPy Matplotlib Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用提供了一种有效的 MatLab 开源替代方案。 它也可以和图形工具包一起使用如 PyQt 和 wxPython。pip3 安装pip3 install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simpleLinux 系统也可以使用 Linux 包管理器来安装Debian / Ubuntusudo apt-get install python-matplotlibFedora / Redhatsudo yum install python-matplotlib安装完后你可以使用 python -m pip list 命令来查看是否安装了 matplotlib 模块。$ pip3 list | grep matplotlib matplotlib 3.3.0实例实例import numpy as np from matplotlib import pyplot as plt x np.arange(1,11) y 2 * x 5 plt.title(Matplotlib demo) plt.xlabel(x axis caption) plt.ylabel(y axis caption) plt.plot(x,y) plt.show()以上实例中np.arange() 函数创建 x 轴上的值。y 轴上的对应值存储在另一个数组对象 y 中。 这些值使用 matplotlib 软件包的 pyplot 子模块的 plot() 函数绘制。图形由 show() 函数显示。图形中文显示Matplotlib 默认情况不支持中文我们可以使用以下简单的方法来解决。这里我们使用思源黑体思源黑体是 Adobe 与 Google 推出的一款开源字体。官网思源宋体GitHub 地址https://github.com/adobe-fonts/source-han-sans/tree/release/OTF/SimplifiedChinese打开链接后在里面选一个就好了你也可以在网盘下载: 百度网盘 请输入提取码提取码yxqu。可以下载个 OTF 字体比如 SourceHanSansSC-Bold.otf将该文件文件放在当前执行的代码文件中SourceHanSansSC-Bold.otf 文件放在当前执行的代码文件中实例import numpy as np from matplotlib import pyplot as plt import matplotlib # fname 为 你下载的字体库路径注意 SourceHanSansSC-Bold.otf 字体的路径 zhfont1 matplotlib.font_manager.FontProperties(fnameSourceHanSansSC-Bold.otf) x np.arange(1,11) y 2 * x 5 plt.title(菜鸟教程 - 测试, fontpropertieszhfont1) # fontproperties 设置中文显示fontsize 设置字体大小 plt.xlabel(x 轴, fontpropertieszhfont1) plt.ylabel(y 轴, fontpropertieszhfont1) plt.plot(x,y) plt.show()执行输出结果如下图此外我们还可以使用系统的字体from matplotlib import pyplot as plt import matplotlib asorted([f.name for f in matplotlib.font_manager.fontManager.ttflist]) for i in a: print(i)打印出你的 font_manager 的 ttflist 中所有注册的名字找一个看中文字体例如STFangsong(仿宋,然后添加以下代码即可plt.rcParams[font.family][STFangsong]作为线性图的替代可以通过向 plot() 函数添加格式字符串来显示离散值。 可以使用以下格式化字符。字符描述-实线样式--短横线样式-.点划线样式:虚线样式.点标记,像素标记o圆标记v倒三角标记^正三角标记lt;左三角标记gt;右三角标记1下箭头标记2上箭头标记3左箭头标记4右箭头标记s正方形标记p五边形标记*星形标记h六边形标记 1H六边形标记 2加号标记xX 标记D菱形标记d窄菱形标记#124;竖直线标记_水平线标记以下是颜色的缩写字符颜色b蓝色g绿色r红色c青色m品红色y黄色k黑色w白色要显示圆来代表点而不是上面示例中的线请使用 ob 作为 plot() 函数中的格式字符串。实例import numpy as np from matplotlib import pyplot as plt x np.arange(1,11) y 2 * x 5 plt.title(Matplotlib demo) plt.xlabel(x axis caption) plt.ylabel(y axis caption) plt.plot(x,y,ob) plt.show()执行输出结果如下图绘制正弦波以下实例使用 matplotlib 生成正弦波图。实例import numpy as np import matplotlib.pyplot as plt # 计算正弦曲线上点的 x 和 y 坐标 x np.arange(0, 3 * np.pi, 0.1) y np.sin(x) plt.title(sine wave form) # 使用 matplotlib 来绘制点 plt.plot(x, y) plt.show()执行输出结果如下图subplot()subplot() 函数允许你在同一图中绘制不同的东西。以下实例绘制正弦和余弦值:实例import numpy as np import matplotlib.pyplot as plt # 计算正弦和余弦曲线上的点的 x 和 y 坐标 x np.arange(0, 3 * np.pi, 0.1) y_sin np.sin(x) y_cos np.cos(x) # 建立 subplot 网格高为 2宽为 1 # 激活第一个 subplot plt.subplot(2, 1, 1) # 绘制第一个图像 plt.plot(x, y_sin) plt.title(Sine) # 将第二个 subplot 激活并绘制第二个图像 plt.subplot(2, 1, 2) plt.plot(x, y_cos) plt.title(Cosine) # 展示图像 plt.show()执行输出结果如下图bar()pyplot 子模块提供 bar() 函数来生成条形图。以下实例生成两组 x 和 y 数组的条形图。实例from matplotlib import pyplot as plt x [5,8,10] y [12,16,6] x2 [6,9,11] y2 [6,15,7] plt.bar(x, y, align center) plt.bar(x2, y2, color g, align center) plt.title(Bar graph) plt.ylabel(Y axis) plt.xlabel(X axis) plt.show()执行输出结果如下图numpy.histogram()numpy.histogram() 函数是数据的频率分布的图形表示。 水平尺寸相等的矩形对应于类间隔称为 bin变量 height 对应于频率。numpy.histogram()函数将输入数组和 bin 作为两个参数。 bin 数组中的连续元素用作每个 bin 的边界。实例import numpy as np a np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27]) np.histogram(a,bins [0,20,40,60,80,100]) hist,bins np.histogram(a,bins [0,20,40,60,80,100]) print (hist) print (bins)输出结果为[3 4 5 2 1] [ 0 20 40 60 80 100]plt()Matplotlib 可以将直方图的数字表示转换为图形。 pyplot 子模块的 plt() 函数将包含数据和 bin 数组的数组作为参数并转换为直方图。实例from matplotlib import pyplot as plt import numpy as np a np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27]) plt.hist(a, bins [0,20,40,60,80,100]) plt.title(histogram) plt.show()执行输出结果如下图
返回列表