Questions tagged «matplotlib»

Matplotlib是Python的绘图库,可以交互使用或嵌入独立的GUI中。其紧凑的“ pyplot”界面类似于MATLAB®的绘图功能。


2
如何获得要绘制的matplotlib Axes实例?
我需要使用一些库存数据制作烛台图(类似这样)。为此,我想使用功能matplotlib.finance.candlestick()。为此功能,我需要提供引号和“要绘制到的Axes实例”。我创建了一些示例报价,如下所示: quotes = [(1, 5, 6, 7, 4), (2, 6, 9, 9, 6), (3, 9, 8, 10, 8), (4, 8, 8, 9, 8), (5, 8, 11, 13, 7)] 现在,我现在还需要一个Axes实例,在这个实例上我有点迷茫。我在使用matplotlib.pyplot之前创建了图。我想我现在需要对matplotlib.axes做些事情,但是我不确定到底是什么。 有人可以帮我一下吗?欢迎所有提示!

6
Python和Matplotlib:在Jupyter Notebook中使3D图互动
我使用Jupyter Notebook进行数据集分析。笔记本中有很多图,其中一些是3d图。 我想知道是否可以使3d绘图具有交互性,因此我以后可以更详细地使用它吗? 也许我们可以在上面添加一个按钮?单击它可以弹出3D图,人们可以缩放,平移,旋转等。 我的思想: 1. matplotlib,%qt 这不适合我的情况,因为我需要在3d图之后继续绘制。%qt将干扰以后的情节。 2. mpld3 mpld3在我的情况下几乎是理想的,不需要重写任何东西,与matplotlib兼容。但是,它仅支持2D图。而且我没有看到任何针对3D的计划(https://github.com/mpld3/mpld3/issues/223)。 3.散景+ visjs 在bokeh图库中找不到任何实际的3D绘图示例。我只找到使用的https://demo.bokeh.org/surface3dvisjs。 4. Javascript 3D图? 由于我只需要行和序,是否有可能在浏览器中使用js将数据传递到js绘图以使其具有交互性?(然后,我们可能还需要添加3d轴。)这可能类似于visjs和mpld3。

3
使用Python的matplotlib在x轴上绘制日期
我正在尝试根据日期绘制信息。我有日期列表,格式为“ 01/02/1991”。 我通过执行以下操作来转换它们: x = parser.parse(date).strftime('%Y%m%d')) 这使 19910102 然后我尝试使用num2date import matplotlib.dates as dates new_x = dates.num2date(x) 绘图: plt.plot_date(new_x, other_data, fmt="bo", tz=None, xdate=True) 但是我得到一个错误。它显示“ ValueError:年份超出范围”。有什么办法吗?

3
Matplotlib-标记每个垃圾箱
我目前正在使用Matplotlib创建直方图: import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as pyplot ... fig = pyplot.figure() ax = fig.add_subplot(1,1,1,) n, bins, patches = ax.hist(measurements, bins=50, range=(graph_minimum, graph_maximum), histtype='bar') #ax.set_xticklabels([n], rotation='vertical') for patch in patches: patch.set_facecolor('r') pyplot.title('Spam and Ham') pyplot.xlabel('Time (in seconds)') pyplot.ylabel('Bits of Ham') pyplot.savefig(output_filename) 我想使x轴标签更有意义。 首先,这里的x轴刻度似乎仅限于五个刻度。不管我做什么,似乎都无法更改-即使添加更多xticklabel,它也只会使用前五个。我不确定Matplotlib是如何计算的,但是我假设它是根据范围/数据自动计算的? 有什么方法可以提高x-tick标签的分辨率-甚至可以将每个小节/条提高到一个? (理想情况下,我还希望将秒重新设置为微秒/毫秒,但这又是一个问题)。 其次,我希望每个单独的条都带有标签-带有该垃圾箱中的实际数字以及所有垃圾箱总数的百分比。 最终输出可能看起来像这样: Matplotlib是否有可能做到这一点? 干杯,维克多

4
使用Colormaps在matplotlib中设置线条的颜色
如何使用运行时使用colormap(例如jet)使用在运行时提供的标量值来设置matplotlib中线条的颜色?我在这里尝试了几种不同的方法,但我觉得很困惑。values[]是一个存储的标量数组。曲线是一组一维数组,标签是文本字符串数组。每个数组的长度相同。 fig = plt.figure() ax = fig.add_subplot(111) jet = colors.Colormap('jet') cNorm = colors.Normalize(vmin=0, vmax=values[-1]) scalarMap = cmx.ScalarMappable(norm=cNorm, cmap=jet) lines = [] for idx in range(len(curves)): line = curves[idx] colorVal = scalarMap.to_rgba(values[idx]) retLine, = ax.plot(line, color=colorVal) #retLine.set_color() lines.append(retLine) ax.legend(lines, labels, loc='upper right') ax.grid() plt.show()

4
仅显示图例Python Matplotlib中的某些项目
我目前正在绘制大量生物分类数据的堆叠条形图,只希望在图例中显示重要物种(在约500种中,我希望显示约25种)。有没有简单的方法可以做到这一点?下面是我的代码: labels=['0','20','40','60','80','100','120'] ax1=subj1df.plot(kind='barh', stacked=True,legend=True,cmap='Paired', grid=False) legend(ncol=2,loc=2, bbox_to_anchor=(1.05, 1), borderaxespad=0.) label1=['Baseline','8h','24h','48h','96h','120h'] ax1.set_yticklabels(label1, fontdict=None, minor=False) plt.title('Subject 1 Phyla',fontweight='bold') plt.savefig('Subject1Phyla.eps', format='eps', dpi=1000) ax1.set_xticklabels(labels) 编辑:尝试将其添加为仅显示一个图例条目,但是仅返回一个空图例: h, l = ax1.get_legend_handles_labels() legend(l[4],h[4],ncol=2,loc=2, bbox_to_anchor=(1.05, 1), borderaxespad=0.)

4
如何防止数字在Python Matplotlib图中更改为指数形式
我在Python中使用Matplotlib绘制简单的xy数据集。这会生成漂亮的图形,尽管当我使用“图形视图”(执行时出现plt.show())在绘图图形的各个部分上“放大”得太近时,x轴值也会从标准数字格式(1050、1060, 1070等)转换为具有指数符号的科学形式(例如x,x轴标记为的1、1.5、2.0 +1.057e3)。 我希望我的图形保留轴的简单编号,而不要使用指数形式。有没有一种方法可以强制Matplotlib执行此操作?

2
GridSpec与Python中的共享轴
这种对另一个线程的解决方案建议使用gridspec.GridSpec而不是plt.subplots。但是,当我在子图之间共享轴时,通常使用如下语法 fig, axes = plt.subplots(N, 1, sharex='col', sharey=True, figsize=(3,18)) 如何指定sharex和sharey使用时间GridSpec?

2
使用直方图的Matplotlib / Pandas错误
我在用熊猫系列对象制作直方图时遇到问题,我不明白为什么它不起作用。该代码以前运行良好,但现在却没有。 这是我的一些代码(特别是我要对其进行直方图绘制的熊猫系列对象): type(dfj2_MARKET1['VSPD2_perc']) 输出结果: pandas.core.series.Series 这是我的绘图代码: fig, axes = plt.subplots(1, 7, figsize=(30,4)) axes[0].hist(dfj2_MARKET1['VSPD1_perc'],alpha=0.9, color='blue') axes[0].grid(True) axes[0].set_title(MARKET1 + ' 5-40 km / h') 错误信息: AttributeError Traceback (most recent call last) <ipython-input-75-3810c361db30> in <module>() 1 fig, axes = plt.subplots(1, 7, figsize=(30,4)) 2 ----> 3 axes[1].hist(dfj2_MARKET1['VSPD2_perc'],alpha=0.9, color='blue') 4 axes[1].grid(True) 5 axes[1].set_xlabel('Time spent [%]') …

3
以直方图绘制平均线(matplotlib)
我正在使用python中的matplotlib绘制直方图,并想绘制一条表示数据集平均值的线,以虚线的形式覆盖在直方图上(或者也许也可以使用其他颜色)。关于如何绘制直方图上的线的任何想法? 我正在使用plot()命令,但不确定如何绘制垂直线(即,应为y轴赋予什么值? 谢谢!

6
从python生成电影而无需将单个帧保存到文件
我想根据我在matplotlib中的python脚本中生成的帧创建h264或divx电影。这部电影大约有10万张。 在网络上的示例中[例如 1],我只看到了将每个帧另存为png,然后在这些文件上运行mencoder或ffmpeg的方法。就我而言,保存每一帧是不切实际的。有没有办法获取从matplotlib生成的图并将其直接传输到ffmpeg,而不会生成任何中间文件? 用ffmpeg的C-api编程对我来说太困难了[例如。2]。另外,我需要一种具有良好压缩效果的编码,例如x264,因为电影文件对于后续步骤来说太大了。因此,最好坚持使用mencoder / ffmpeg / x264。 管道[3]有什么可以做的吗? [1] http://matplotlib.sourceforge.net/examples/animation/movie_demo.html [2]如何使用x264 C API将一系列图像编码为H264? [3] http://www.ffmpeg.org/ffmpeg-doc.html#SEC41

7
我可以在matplotlib中浏览线型吗
我知道如何在matplotlib中循环浏览颜色列表。但是是否可以对线条样式(纯色,点缀,虚线等)做类似的事情?我需要这样做,这样我的图形在打印时将更易于阅读。有什么建议怎么做?


4
matplotlib:同一图上有2个不同的图例
我有一个绘图,其中不同的颜色用于不同的参数,并且不同的线型用于不同的算法。目的是比较使用相似参数执行的不同算法的结果。这意味着我总共使用4种不同的颜色和3种不同的线型,同一张图上总共有12个图。 实际上,我是根据颜色构建图例的,将每种颜色与相应的参数相关联。现在,我想在同一张图上显示第二个图例,以及每种线型的含义。有可能实现吗?怎么样? 这实际上是我的代码: colors = ['b', 'r', 'g', 'c'] cc = cycle(c) for p in parameters: d1 = algo1(p) d2 = algo2(p) d3 = algo3(p) pyplot.hold(True) c = next(cc) pyplot.plot(d1, '-', color=c, label="d1") pyplot.plot(d1, '--', color=c) pyplot.plot(d2, '.-', color=c) pyplot.legend()

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.