我得到了这样的数据:
serialno departure_time mode
1 5:34 walk
2 9:03 bus
3 6:10 car
4 7:50 car
5 9:00 car
我想画关于变量departure_time的直方图和统计频率。X轴是1,2,3,4,5,6,7,8,9,10,11,12,y轴是频率。
谢谢!
如何将某些数据的累积分布叠加在同一数据的直方图上?我有以下代码:
DistributionData=Results(end,:);
figure(4)
clf
nbins = 100;
hist(DistributionData,nbins)
hold on
cdfplot(DistributionData)
hold off
但是因为cdf是在一个不同的尺度上,所以我需要在第二个y轴上。理想的情况下,我也想画反图。
我在Python中使用matplotlib,并制作了一个带条的直方图。现在,当直方图出现时,只有5的倍数出现在x轴上,1000的倍数出现在y轴上。对于y轴,这是完全没有问题的,但是对于x轴,我希望间隔是1而不是5,因为我每小时使用1巴。我如何才能做到这一点?
提前谢谢。
def plotHistogramTickets():
hours_NumbersSold = dict()
for i in range(24):
hours_NumbersSold[i]=0
soldTickets = db.getSoldTickets()
for tic
如何将两个数据集X和Y转换为x轴/索引相同的直方图,而不是将变量X的x轴范围集体地降低或高于变量Y的x轴范围(就像下面的代码如何生成)?我希望numpy直方图输出值准备好在共享直方图-图之后绘制。
import numpy as np
from numpy.random import randn
n = 100 # number of bins
#datasets
X = randn(n)*.1
Y = randn(n)*.2
#empirical distributions
a = np.histogram(X,bins=n)
b = np.histogram(Y,bins=n)
为什么当代码在python中运行时,图在y轴上似乎会在10^-1处分解?(下面的代码)
from pylab import *
bins = [+0.000e+00,+1.000e+00,+2.000e+00,+3.000e+00,+4.000e+00,+5.000e+00]
wght = [[+3.000e-02,+7.0e-02,+3.0e-01,+5.0e-01,+8.0e-01]]
hist([ bins[:-1] for i in range(len(wght)) ], bins=bins, weights=wght,histtype="stepfilled",
我有一个带有ts_array时间戳的数组,它遵循dd-mm-yyyy格式,比如03-08-2012。现在,我想用matplotlib 1.5.1和Python 2.7绘制一个直方图如下:
import matplotlib.pyplot as plt
timestamps = dict((x, ts_array.count(x)) for x in ts_array)
plt.hist(timestamps)
plt.title("Timestamp Histogram")
plt.xlabel("Value")
plt.ylabel("Freque
在matplotlib中制作一系列具有相同X和Y尺度的子图的最佳方法是什么,但是这些子图是基于具有最极端数据的子图的最小/最大范围来计算的?例如,如果您有一系列要绘制的直方图:
# my_data is a list of lists
for n, data in enumerate(my_data):
# data is to be histogram plotted
subplot(numplots, 1, n+1)
# make histogram
hist(data, bins=10)
每个直方图在X轴和Y轴上将有不同的范围/刻度。我希望所有这些都是相同的,并根据绘制的