成都 地铁 建设 网站网站域名要实名认证吗

当前位置: 首页 > news >正文

成都 地铁 建设 网站,网站域名要实名认证吗,淮北论坛人才招聘网,链接提交工具的使用方法数据可视化或者数据绘图是数据分析中最重要的任务之一#xff0c;是数据探索过程的一部分#xff0c;数据可视化可以帮助我们识别异常值、识别出需要的数据转换以及为模型生成提供思考依据。对于Web开发人员#xff0c;构建基于Web的数据可视化显示也是一种重要的方式。Pyth…数据可视化或者数据绘图是数据分析中最重要的任务之一是数据探索过程的一部分数据可视化可以帮助我们识别异常值、识别出需要的数据转换以及为模型生成提供思考依据。对于Web开发人员构建基于Web的数据可视化显示也是一种重要的方式。Python 有许多用于制作静态或动态可视化的附加库我主要学习的是 matplotlib库 以及基于它构建的库。 matplotlib 是一个桌面绘图包旨在创建适合发布的绘图和图形。该项目由 John Hunter 于 2002 年启动目的是在 Python 中启用类似 MATLAB 的绘图界面。matplotlib 和 IPython 社区合作简化了 IPython shell现在是 Jupyter notebook的交互式绘图。matplotlib 支持所有操作系统上的各种 GUI 后端并且可以将可视化导出为所有常见的矢量和光栅图形格式PDF、SVG、JPG、PNG、BMP、GIF 等。 随着时间的推移matplotlib 催生了许多用于数据可视化的附加工具包这些工具包使用 matplotlib 进行底层绘图。其中之一是 seabornseaborn库也经常用。可以通过Jupyter notebook来演示示例代码和输出绘图。要使用Jupyter notebook我们可以通过vs code的扩展商店安装它如下图所示 安装之后就可以直接使用了编码方式和输出方式相比于用编辑器要简单些可以动手试试。我还是沿用编辑器来做代码示例。 对于 matplotlib 库我们使用以下导入约定import matplotlib.pyplot as plt 下面我们先创建一个简单的绘图看看 import numpy as np import pandas as pd import matplotlib.pyplot as pltdata np.arange(10) plt.plot(data) plt.show() 生成如下图形 如果想要自定义图形展示的外观等细节我们需要学习一些matplotlib API的知识。当然要学习matplotlib的高级功能可以查阅它的官方文档。 一、Figures 和 Subplots 用 matplotlib 绘制图形实在 Figure 对象的图窗中进行的。我们可以使用 plt.figure 创建一个新图窗 import matplotlib.pyplot as pltfig plt.figure() plt.figure 有很多参数选项如果要把图形保存到磁盘可以用 figsize 参数设置图形的大小和纵横比。不能使用空白数字制作绘图必须使用 add_subplot 创建一个或多个子图 import matplotlib.pyplot as pltfig plt.figure() ax1 fig.add_subplot(2, 2, 1) fig.add_subplot(2, 2, 1)这行代码表示该图有 2 × 2总共最多四个子图并且我们选择四个子图中的第一个从 1 开始编号。如果我们创建接下来的两个子图则最终会得到一个如下所示的可视化效果 import matplotlib.pyplot as pltfig plt.figure() ax1 fig.add_subplot(2, 2, 1) ax2 fig.add_subplot(2, 2, 2) ax3 fig.add_subplot(2, 2, 3)plt.show() 这些绘图轴对象如上面的ax1、ax2、ax3具有创建不同类型绘图的各种方法最好使用他们的方法来绘制图像而不是使用 plt.plot 等最顶级的绘图函数。例如我们可以使用轴对象的 plot 方法制作线图如下 import numpy as np import matplotlib.pyplot as pltfig plt.figure() ax1 fig.add_subplot(2, 2, 1) ax2 fig.add_subplot(2, 2, 2) ax3 fig.add_subplot(2, 2, 3) ax3.plot(np.random.standard_normal(50).cumsum(), colorblack, linestyledashed)plt.show() colorblack, linestyledashed参数选项指示 matplotlib 绘制一条黑色虚线。fig.add_subplot 返回的对象是 AxesSubplot 对象。您可以通过调用每个 AxesSubplot 对象的实例方法在其他空子图上绘制图形 import numpy as np import pandas as pd import matplotlib.pyplot as pltfig plt.figure() ax1 fig.add_subplot(2, 2, 1) ax2 fig.add_subplot(2, 2, 2) ax3 fig.add_subplot(2, 2, 3)# plot绘制曲线图 ax3.plot(np.random.standard_normal(50).cumsum(), colorblack, linestyledashed)

hist绘制直方图

ax1.hist(np.random.standard_normal(100), bins20, colorblack, alpha0.3)

scatter绘制散点图

ax2.scatter(np.arange(30), np.arange(30) 3 * np.random.standard_normal(30))plt.show() 参数选项 alpha0.3 设置图形的透明度。我们可以查看 matplotlib 文档了解所有的绘图类型。 为了更方便地创建子图网格matplotlib 有一个 plt.subplots 方法该方法创建一个新图形并返回一个包含创建的子图对象的 NumPy 数组 import numpy as np import pandas as pd import matplotlib.pyplot as pltfig, axes plt.subplots(2, 3) print(axes)plt.show() print(axes)输出 [[Axes: Axes: Axes: ]   [Axes: Axes: Axes: ]] 表示生成了6个子图对象这6个子图对象2行3列排列。输出如下图 然后可以像二维数组一样对 axes 数组进行索引例如例如axes[0 1] 引用第一行中间的子图。还可以分别使用 sharex 和 sharey 指示子图应具有相同的 x 轴或 y 轴。当我们比较相同尺度的数据时这可能很有用否则matplotlib 会独立自动缩放绘图限制。matplotlib.pyplot.subplots 方法的参数选项见下图列表 二、调整子图周围的间距 默认情况下matplotlib 在子图的外部和子图之间的间距中保留一定量的填充。此间距都是相对于绘图的高度和宽度指定的因此如果您以编程方式或使用 GUI 窗口手动调整绘图大小绘图将动态调整自身。您可以使用 subplots_adjust 方法对 Figure 对象更改间距 subplots_adjust(leftNone, bottomNone, rightNone, topNone, wspaceNone, hspaceNone) wspace 和 hspace 分别控制图形宽度和图形高度的百分比以用作子图之间的间距。下面是一个代码小示例将间距一直缩小到零 import numpy as np import pandas as pd import matplotlib.pyplot as pltfig, axes plt.subplots(2, 2, sharexTrue, shareyTrue) for i in range(2):for j in range(2):axes[i, j].hist(np.random.standard_normal(500), bins50, colorblack, alpha0.5) fig.subplots_adjust(wspace0, hspace0)plt.show() 上面图形中轴标签重叠了。matplotlib 不会检查标签是否重叠因此在这种情况下需要通过指定显式刻度位置和刻度标签来修复标签在后面的“刻度、标签和图例”部分中学习如何执行此操作。 三、颜色、标记和线条样式 matplotlib 的绘制线图函数 plot() 接受 x 和 y 坐标数组以及可选的颜色样式。例如要用绿色破折号绘制 x 与 y 的关系可以执行ax.plot(x, y, linestyle–, colorgreen) matplotlib 提供了许多颜色名称但是我们也可以通过指定颜色的十六进制代码例如“#CECECE”来使用光谱上的任何颜色。我们可以通过查看官方文档来查询 plt.plot 支持的线条样式。 由于 matplotlib 的 plot 函数创建一个连续的线图因此有时不清楚点的位置我们可以用标记突出显示某些数据点 import numpy as np import matplotlib.pyplot as pltfig plt.figure() ax fig.add_subplot() ax.plot(np.random.standard_normal(30).cumsum(), colorblack, linestyledashed, markero)plt.show() 对于线图我们注意到默认情况下后续点是线性插值的。这可以通过 drawstyle 参数选项进行更改 import numpy as np import pandas as pd import matplotlib.pyplot as pltfig plt.figure() ax fig.add_subplot() data np.random.standard_normal(30).cumsum() ax.plot(data, colorblack, linestyledashed, labelDefault) ax.plot(data, colorblack, linestyledashed, drawstylesteps-post, labelsteps-post) ax.legend()plt.show() 在这里由于我们将标签参数传递给了 plot因此我们能够创建一个 plot legend 来使用 ax.legend 标识每一行。我在 “Ticks Labels and Legends” 中详细讨论了图例。  在这里我们将标签参数传递给了 plot因此我们能够创建一个 plot.legend 来使用 ax.legend 标识每一行。注意无论在绘制数据时是否传递了标签选项必须调用 ax.legend 来创建图例。 四、刻度、标签和图例 大多数类型的绘图装饰都可以通过 matplotlib axes 对象上的方法访问。这包括 xlim、xticks 和 xticklabels 等方法。它们分别控制绘图范围、刻度位置和刻度标签。它们可以通过两种方式使用 不带参数的调用返回当前参数值例如ax.xlim 返回当前 x 轴绘图范围 带参数调用 设置参数值例如ax.xlim([0 10])将 x 轴范围设置为 0 到 10 所有这些方法都作用于活动或最近创建的 AxesSubplot。subplot 对象本身都有这几个方法的get和set方法例如对于 xlim是 ax.get_xlim 和 ax.set_xlim。 设置标题、轴标签、刻度和刻度标签。我们用代码示例来学习创建一个随机游走绘图。 import numpy as np import pandas as pd import matplotlib.pyplot as pltfig, ax plt.subplots() ax.plot(np.random.standard_normal(1000).cumsum()); plt.show() 以上代码随机生成1000个随机数的累积和来表示随机游走的每一步。输出绘图如下 要更改 x 轴刻度最简单的方法是使用 set_xticks 和 set_xticklabels。前者指示 matplotlib 沿数据范围将刻度线放置在何处默认情况下这些位置也将成为标签。但是我们可以使用 set_xticklabels 将任何其他值设置为标签。如下代码示例 import numpy as np import matplotlib.pyplot as pltfig, ax plt.subplots() ax.plot(np.random.standard_normal(1000).cumsum());# 设置刻度 ticks ax.set_xticks([0, 250, 500, 750, 1000])

rotation 参数将 x 刻度标签设置为旋转 30 度

labels ax.set_xticklabels([one, two, three, four, five], rotation30, fontsize8)

set_xlabel 为 x 轴命名

ax.set_xlabel(Stages)

set_title 为子图命名

ax.set_title(我的第一个 matplotlib plot)plt.show() 修改 y 轴由相同的过程组成在此示例中用 y 代替 x。axes 类有一个 set 方法允许批量设置绘图属性。前面的例子中我们也可以这样写 ax.set(title我的第一个 matplotlib plot, xlabelStages)  添加图例 图例是识别绘制的图形中情节元素的另一个关键元素。有几种方法可以添加最简单的是在添加每个 plot 时传递 label 参数 import numpy as np import matplotlib.pyplot as pltfig, ax plt.subplots()ax.plot(np.random.randn(1000).cumsum(), colorblack, labelone) ax.plot(np.random.randn(1000).cumsum(), colorblack, linestyledashed, labeltwo) ax.plot(np.random.randn(1000).cumsum(), colorblack, linestyledotted, labelthree)# 完成label设置调用 ax.legend() 来自动创建图例。 ax.legend()plt.show() 输出 legend() 方法还有几个其他的 location loc 参数选项。有关更多信息请参阅官方文档。loc legend 选项告诉 matplotlib 将绘图放置在何处。默认值为 “best”它尝试选择一个最不碍事的位置。要从图例中排除一个或多个元素传递 no label 或 label“nolegend”。 五、子图上的注释和绘图 除了标准绘图类型之外有时候我们希望绘制自己的绘图注释我们的注释可以由文本、箭头或其他形状组成。那我们可以使用 text、arrow 和 annotate 函数添加注释和文本。text() 在给定坐标 x y 处绘制文本具有可选的自定义样式例如 ax.text(x, y, Hello world!, familymonospace, fontsize10) annotate 函数可以绘制适当排列的文本和箭头。我们用代码示例来学习让我们绘制自 2007 年以来标准普尔 500 指数的收盘价从雅虎财经获得并用 2008-2009 年金融危机的一些重要日期对其进行注释。用到数据文件csv内容如下图所示。 import numpy as np import pandas as pd import matplotlib.pyplot as plt from datetime import datetimefig, ax plt.subplots()data pd.read_csv(examples/spx.csv, index_col0, parse_datesTrue) spx data[SPX]spx.plot(axax, colorblack)crisis_data [(datetime(2007, 10, 11), Peak of bull market),(datetime(2008, 3, 12), Bear Stearns Fails),(datetime(2008, 9, 15), Lehman Bankruptcy) ]for date, label in crisis_data:ax.annotate(label, xy(date, spx.asof(date) 75),xytext(date, spx.asof(date) 225),arrowpropsdict(facecolorblack, headwidth4, width2,headlength4),horizontalalignmentleft, verticalalignmenttop)# Zoom in on 2007-2010 ax.set_xlim([1/1/2007, 1/1/2011]) ax.set_ylim([600, 1800])ax.set_title(Important dates in the 2008–2009 financial crisis)plt.show() 输出图形如下 此图中有几个要点需要强调。ax.annotate 方法可以在指示的 x 和 y 坐标处绘制标签。我们使用 set_xlim 和 set_ylim 方法来手动设置绘图的开始和结束边界而不是使用 matplotlib 的默认值。最后ax.set_title 添加了一个主要标题。请参阅在线 matplotlib 库了解更多可供学习的注释示例。 matplotlib 具有表示许多常见形状称为面片的对象。其中一些如 Rectangle 和 Circle可以在 matplotlib.pyplot 中找到但完整的集合位于 matplotlib.patches 中。要向绘图添加形状需创建 patch 对象并将 patch 传递给 ax.add_patch 将其添加到子图轴中 import matplotlib.pyplot as pltfig, ax plt.subplots()rect plt.Rectangle((0.2, 0.75), 0.4, 0.15, colorblack, alpha0.3) circ plt.Circle((0.7, 0.2), 0.15, colorblue, alpha0.3) pgon plt.Polygon([[0.15, 0.15], [0.35, 0.4], [0.2, 0.6]], colorgreen, alpha0.5)ax.add_patch(rect) ax.add_patch(circ) ax.add_patch(pgon)plt.show() 输出 如果我们仔细看一下许多熟悉的 plot 类型的实现会发现它们是由 patchs 组装而成的。 六、将绘图保存到文件  可以使用 figure 对象的 savefig 实例方法将活动图窗保存到文件中。例如要保存图形的 SVG 版本只需键入这行代码fig.savefig(figpath.svg) 文件类型是从文件扩展名推断出来的。因此如果您使用 .pdf 代替您将获得 PDF。我们经常用于发布图形的一个重要选项是 dpi它控制每英寸点数的分辨率。要在 400 DPI 下获得与 PNG 相同的绘图您可以执行以下操作fig.savefig(figpath.png, dpi400) 有关 savefig 的一些其他参数选项的见如下列表 七、matplotlib 配置 matplotlib 一般情况下设置好了要绘制发布图表的配色方案的默认值以及其他选项的默认值。但我们也可以使用它的全局参数自定义控制图形大小、子图间距、颜色、字体大小、网格样式等。 以Python编程方式修改配置的一种方法是使用 rc() 方法。例如要将全局默认窗口大小设置为 10 × 10可以输入plt.rc(figure, figsize(10, 10)) 所有当前配置设置都可以在 plt.rcParams 字典中找到并且可以通过调用 plt.rcdefaults 函数将它们恢复为默认值。rc 的第一个参数是你想要自定义的组件比如 “figure” “axes” “xtick” “ytick” “grid” “legend” 等等。 要进行更广泛的自定义并查看所有选项的列表matplotlib 在 matplotlib/mpl-data 目录中提供了一个配置文件 matplotlibrc。如果您自定义此文件并将其放在名为 .matplotlibrc 的主目录中则每次使用 matplotlib 时都会加载该文件。