我正在尝试为我拥有的不同值列表(包含在不同文件中)绘制CDF。 这是代码:
import argparse, os, math
import fileLibrary
import numpy as np
import matplotlib.pyplot as plt
parser = argparse.ArgumentParser()
parser.add_argument('-d', type=str, dest='intervalsDir', help='the directory which contains all the intervals for the CDF')
arguments = parser.parse_args()
intervalsDir = arguments.intervalsDir
def cdf(dataList, groupName):
dataLen = len(dataList)
dataSet = sorted(set(dataList))
bins = np.append(dataSet, dataSet[-1]+1)
counts, binEdges = np.histogram(dataList, bins=bins, density=False)
counts = counts.astype(float) / dataLen
cdf = np.cumsum(counts)
plt.plot(binEdges[0:-1], cdf, linestyle='--', color='b')
plt.ylim((0,1))
plt.ylabel("CDF")
plt.xlabel(groupName)
plt.grid(True)
plt.show()
for fileName in os.listdir(intervalsDir):
parsedFileName = fileName.split(".")
xLabel = parsedFileName[0]
filePath = intervalsDir + "/" + fileName
dataList = fileLibrary.createFileList(filePath)
myDataList = []
for d in dataList:
x = int(d)
我从CDF获取的值列表由0到1000之间的大多数值组成。然后,我的值大得多,只有2个数字接近最后一个刻度250000。每个列表包含超过60000个值。 我希望我的x斧具有不同的刻度,主要显示较小的值。 我是python和matplotlib的新手,所以我不知道该怎么做。 预先感谢您的帮助。