pythonic_matplotlib
Pythonic Matplotlib有些人喜欢编写更多的面向对象的Python代码,而不是使用pyPLOT接口来编写matplotlib。此示例向您展示了如何实现。 除非您是应用程序开发人员,否则我建议使用部分pyplot接口,尤其是图形,close,subplot,axes和show命令。 这些隐藏了您在正常图形创建中不需要看到的很多复杂性,例如实例化DPI实例,管理图形元素的边界框,创建和实现GUI窗口以及在其中嵌入图形。 如果您是应用程序开发人员并希望在应用程序中嵌入matplotlib,请遵循示例/ embedding_in_wx.py,examples / embedding_in_gtk.py或examples / embedding_in_tk.py的主题。 在这种情况下,您需要控制所有图形的创建,将它们嵌入应用程序窗口等。 如果您是Web应用程序开发人员,您可能希望使用webapp_demo.py中的示例,该示例显示如何直接使用后端agg图形画布,而不包含pyplot中存在的全局变量(当前图形,当前轴) 接口。 但请注意,没有理由说...
set_and_get
设置和获取pylot接口允许您使用setp和getp来设置和获取对象属性,以及对象进行内省。 设置要将线条的线型设置为虚线,您可以执行以下操作: 12>>> line, = plt.plot([1,2,3])>>> plt.setp(line, linestyle='--') 如果要了解有效的参数类型,可以提供要设置的属性的名称而不使用值: 12>>> plt.setp(line, 'linestyle') linestyle: [ '-' | '--' | '-.' | ':' | 'steps' | 'None' ] 如果要查看可以设置的所有属性及其可能的值,您可以执行以下操作: 1>>> plt.setp(line) set在单个实例或实例列表上运行。如果您处于查询模式内省可能的值,则仅使用序列中的第一个实例。实际设置值时,全部实例将...
svg_filter_line
SVG过滤线演示可能与mpl一起使用的SVG过滤效果。 请注意,过滤效果仅在您的svg渲染器支持时才有效。 输出: 1Saving 'svg_filter_line.svg' 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374import matplotlib.pyplot as pltimport matplotlib.transforms as mtransformsfig1 = plt.figure()ax = fig1.add_axes([0.1, 0.1, 0.8, 0.8])# draw linesl1, = ax.plot([0.1, 0.5, 0.9], [0.1, 0.9, 0.5], "bo-", mec="b", lw=5, ms=10, lab...
svg_filter_pie
SVG过滤管道演示可能与mpl一起使用的SVG过滤效果。饼图绘制代码借用了pie_demo.py 请注意,过滤效果仅在您的svg渲染器支持时才有效。 输出: 1Saving 'svg_filter_pie.svg' 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283import matplotlib.pyplot as pltfrom matplotlib.patches import Shadow# make a square figure and axesfig1 = plt.figure(1, figsize=(6, 6))ax = fig1.add_axes([0.1, 0.1, 0.8, 0.8])labels = 'Frogs', 'Hogs',...
table_demo
表格演示演示表函数以在图表中显示表格。 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152import numpy as npimport matplotlib.pyplot as pltdata = [[ 66386, 174296, 75131, 577908, 32015], [ 58230, 381139, 78045, 99308, 160454], [ 89135, 80552, 152558, 497981, 603535], [ 78415, 81858, 150656, 193263, 69638], [139361, 331509, 343164, 781380, 52269]]columns = ('Freeze', 'Wind', 'Flood', 'Quake', ...
tight_bbox_test
严密的Bbox测试 输出: 12345saving tight_bbox_test.pngsaving tight_bbox_test.pdfsaving tight_bbox_test.svgsaving tight_bbox_test.svgzsaving tight_bbox_test.eps 1234567891011121314import matplotlib.pyplot as pltimport numpy as npax = plt.axes([0.1, 0.3, 0.5, 0.5])ax.pcolormesh(np.array([[1, 2], [3, 4]]))plt.yticks([0.5, 1.5], ["long long tick label", "tick label"])plt.ylabel("My y-label")plt.title("Check saved figures for their bboxes")for...
transoffset
Transoffset这说明了使用transforms.offset_copy进行变换,该变换将绘图元素(如文本字符串)定位在屏幕坐标(点或英寸)中相对于任何坐标中给出的位置的指定偏移处。 每个Artist - 从中派生Text和Line等类的mpl类 - 都有一个可以在创建Artist时设置的转换,例如通过相应的pyplot命令。 默认情况下,这通常是Axes.transData转换,从数据单元到屏幕点。 我们可以使用offset_copy函数来修改此转换的副本,其中修改包含偏移量。 12345678910111213141516171819202122232425262728293031323334353637import matplotlib.pyplot as pltimport matplotlib.transforms as mtransformsimport numpy as npxs = np.arange(7)ys = xs**2fig = plt.figure(figsize=(5, 10))ax = plt.subplot(2, 1, 1)# If we...
zorder_demo
Zorder演示轴的默认绘制顺序是补丁,线条,文本。 此顺序由zorder属性确定。 设置以下默认值 Artist Z-order Patch / PatchCollection 1 Line2D / LineCollection 2 Text 3 您可以通过设置zorder来更改单个艺术家的顺序。任何单独的plot() 调用都可以为该特定项的zorder设置一个值。 在下面的第一个子图中,线条在散点图上方的补丁集合上方绘制,这是默认值。 在下面的子图中,顺序颠倒过来。 第二个图显示了如何控制各行的zorder。 123456789import matplotlib.pyplot as pltimport numpy as np# Fixing random state for reproducibilitynp.random.seed(19680801)x = np.random.random(20)y = np.random.random(20) 分散的顶部的线 123456789101112plt.figure()plt.sub...
2dcollections3d
在3D绘图上绘制2D数据演示使用ax.plot的zdir关键字在3D绘图的选择轴上绘制2D数据。 12345678910111213141516171819202122232425262728293031323334353637383940414243# This import registers the 3D projection, but is otherwise unused.from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused importimport numpy as npimport matplotlib.pyplot as pltfig = plt.figure()ax = fig.gca(projection='3d')# Plot a sin curve using the x and y axes.x = np.linspace(0, 1, 100)y = np.sin(x * 2 * np.pi) / 2 + 0.5ax.plot(x, y, zs=0, zdir=...
contour3d
演示在3D中绘制轮廓(水平)曲线这类似于2D中的等高线图,除了f(x,y)= c曲线绘制在平面z = c上。 1234567891011121314from mpl_toolkits.mplot3d import axes3dimport matplotlib.pyplot as pltfrom matplotlib import cmfig = plt.figure()ax = fig.gca(projection='3d')X, Y, Z = axes3d.get_test_data(0.05)# Plot contour curvescset = ax.contour(X, Y, Z, cmap=cm.coolwarm)ax.clabel(cset, fontsize=9, inline=1)plt.show() 下载这个示例 下载python源码: contour3d.py 下载Jupyter notebook: contour3d.ipynb














