我正在尝试使用具有不连续x轴的pyplot创建绘图.绘制的通常方法是轴将具有以下内容:
(值)---- // ----(后来的值)
其中//表示您正在跳过(值)和(后面的值)之间的所有内容.
我还没有找到任何这方面的例子,所以我想知道它是否可能.我知道你可以通过不连续性加入数据,例如财务数据,但我想让轴上的跳转更明确.目前我只是使用子图,但我真的希望最终在同一个图表上结束所有内容.
我有一个代表时间段的numpy数组,我正在直方图中绘制以获得一个很好的分布图,使用以下代码:
ax.hist(data,bins=100,range=(minimum,maximum),facecolor="r")
Run Code Online (Sandbox Code Playgroud)
然而,我正在尝试修改此图形以使用线而不是条形来表示完全相同的数据,因此我可以将更多样本覆盖到相同的绘图并使它们清晰(否则条形图彼此重叠).到目前为止我尝试将数据数组整理成一个包含(时间,计数)的元组数组,然后使用它进行绘制
ax.plot(data[:,0],data[:,1],color="red",lw=2)
Run Code Online (Sandbox Code Playgroud)
然而,这并没有给我任何接近,因为我无法在我的情节中准确模拟直方图的箱子选项.有一个更好的方法吗?
我有一个包含值的数组,我想创建它的直方图.我主要对低端号码感兴趣,并希望在一个箱子中收集300以上的每个号码.此箱应具有与所有其他(同样宽)箱相同的宽度.我怎样才能做到这一点?
注意:此问题与此问题有关:在Matplotlib直方图中定义bin宽度/ x轴刻度
这是我到目前为止所尝试的:
import matplotlib.pyplot as plt
import numpy as np
def plot_histogram_01():
np.random.seed(1)
values_A = np.random.choice(np.arange(600), size=200, replace=True).tolist()
values_B = np.random.choice(np.arange(600), size=200, replace=True).tolist()
bins = [0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250, 275, 300, 600]
fig, ax = plt.subplots(figsize=(9, 5))
_, bins, patches = plt.hist([values_A, values_B], normed=1, # normed is deprecated and will be replaced by density
bins=bins,
color=['#3782CC', '#AFD5FA'],
label=['A', 'B'])
xlabels = np.array(bins[1:], dtype='|S4')
xlabels[-1] = '300+'
N_labels = len(xlabels)
plt.xlim([0, …Run Code Online (Sandbox Code Playgroud)