相关疑难解决方法(0)

Python/Matplotlib - 有没有办法制作不连续的轴?

我正在尝试使用具有不连续x轴的pyplot创建绘图.绘制的通常方法是轴将具有以下内容:

(值)---- // ----(后来的值)

其中//表示您正在跳过(值)和(后面的值)之间的所有内容.

我还没有找到任何这方面的例子,所以我想知道它是否可能.我知道你可以通过不连续性加入数据,例如财务数据,但我想让轴上的跳转更明确.目前我只是使用子图,但我真的希望最终在同一个图表上结束所有内容.

python matplotlib

68
推荐指数
3
解决办法
3万
查看次数

Matplotlib - 标记每个bin

我目前正在使用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)
Run Code Online (Sandbox Code Playgroud)

我想让x轴标签更有意义.

首先,这里的x轴刻度似乎限于五个刻度.无论我做什么,我似乎无法改变这一点 - 即使我添加更多xticklabels,它只使用前五个.我不确定Matplotlib如何计算这个,但我认为它是从范围/数据中自动计算的?

有没有什么办法可以提高x-tick标签的分辨率 - 甚至可以提高每个条形码/ bin 的分辨率

(理想情况下,我也希望以微秒/毫秒重新格式化秒数,但这是另一天的问题).

其次,我想要标记每个单独的条形图 - 包含该条形图中的实际数字,以及所有条形图总数的百分比.

最终输出可能如下所示:

在此输入图像描述

Matplotlib有可能吗?

干杯,维克多

python graphing visualization matplotlib histogram

64
推荐指数
1
解决办法
8万
查看次数

Matplotlib/pyplot:如何强制轴范围?

我想绘制带有pylot的标准2D线图,但强制轴的值在x上介于0和600之间,y上强制介于10k和20k之间.让我举个例子......

import pylab as p

p.title(save_file)
p.axis([0.0,600.0,1000000.0,2000000.0])

#define keys and items elsewhere..
p.plot(keys,items)
p.savefig(save_file, dpi=100)
Run Code Online (Sandbox Code Playgroud)

但是,轴仍然可以调整到数据大小.我正在解释p.axis的效果是设置max和min可能是什么,而不是强制它们是max或min.当我尝试使用p.xlim()等时会发生同样的情况.

有什么想法吗?

谢谢.

python graph axes matplotlib

50
推荐指数
4
解决办法
12万
查看次数

标签 统计

matplotlib ×3

python ×3

axes ×1

graph ×1

graphing ×1

histogram ×1

visualization ×1