例如在下面的代码中:importnumpyasnpimportmatplotlib.pyplotaspltN=10x=[1,2,3,4,5,6,7,8,9,10]y=np.random.rand(N)plt.scatter(x,y)plt.show()我得到以下情节如您所见,在x轴上仅出现偶数值。如何强制matplotlib显示所有值,即12345678910? 最佳答案 使用plt.xticks(x)。参见thedocumentation.请注意,仅使用刻度的输入值通常会使查看者感到困惑。使用均匀间隔的刻度更有意义。
我想知道是否有(更好的)技巧来反转matplotlib中的累积直方图。假设我有一些分数在0.0到1.0之间,其中1.0是最好的分数。现在,我有兴趣绘制有多少样本高于某个分数阈值。importnumpyasnpimportmatplotlib.pyplotaspltd=np.random.normal(size=1000)d=(d-d.min())/(d.max()-d.min())plt.hist(d,50,histtype="stepfilled",alpha=.7)默认情况下,matplotlib会绘制累积直方图,就像“样本数plt.hist(d,50,histtype="step
我正在用seaborn绘制一系列箱线图sns.boxplot(full_array)其中full_array包含200个数组。因此,我在x轴上有200个箱线图和刻度,范围从0到200。xticks彼此太靠近,我只想显示其中的一些,例如,每20个左右标记一个xticks。我尝试了几种提到的解决方案here但它们没有用。每次我对xticks进行采样时,我都会得到错误的刻度标签,因为它们从0到N以单位间距编号。例如,使用行ax.xaxis.set_major_locator(ticker.MultipleLocator(20))我每20次得到一个带标签的xtick,但标签是1、2、3、4而不
我有一个包含5列和一些行的二维数组。不同的列具有以下条目x1y1x2y2z我想绘制一个从(x1,y1)到(x2,y2)的箭头,箭头的颜色应该取自与某些内置颜色图相对应的z列。我该怎么做matplotlib/python? 最佳答案 你可以这样做:importnumpyasnpimportmatplotlib.pyplotaspltimportmatplotlib.colorsascolorsimportmatplotlib.cmascmxDATA=np.random.rand(5,5)cmap=plt.cm.jetcNorm=col
我有一个看起来像这样的图形:我想制作一个如下所示的图例:我该怎么做?更新:请注意,这个图例有一个带有边缘颜色的框架:一个有效的答案将包括它。图例也应嵌入坐标区中。我想要的图例可能无法使用ax.legend()实现。一个很好的答案是展示如何使用补丁和文本或任何有意义的matplotlib方法手动构建我想要的图例(完全如图所示)。 最佳答案 D行和A行的单独标题:frommatplotlib.pyplotimport*ds=[1,2,3]dc=[1.1,1.9,3.2]asim=[1.5,2.2,3.1]ac=[1.6,2.15,3.1
这看起来应该很简单,但我想不通。我有一个Pandas数据框,想用其中的3列绘制3D散点图。X和Y列不是数字,它们是字符串,但我不明白这应该是个问题。X=myDataFrame.columnX.values#stringY=myDataFrame.columnY.values#stringZ=myDataFrame.columnY.values#floatfig=pl.figure()ax=fig.add_subplot(111,projection='3d')ax.scatter(X,Y,np.log10(Z),s=20,c='b')pl.show()有没有简单的方法来做到这一点?谢谢
我正在寻找一个带有一堆时间轴的pythonDataFrame,并将它们绘制在一个图中。DataFrame索引是时间戳,并且有一个特定的列,我们称之为“序列”,其中包含像“A”和“B”这样的字符串。所以DataFrame看起来像这样:+--------------------------+---+|2014-07-0100:01:00.0000|A|+--------------------------+---+|2014-07-0100:02:00.0000|B|+--------------------------+---+|2014-07-0100:04:00.0000|A|+--
这是我几个月前提出的问题,现在仍在努力寻找解决方案。我的代码并排给我一个basemap和一个等高线图(但打印到文件只给出等高线图),但我希望它们叠加。最好的解决方案是这里的https://gist.github.com/oblakeobjet/7546272但这并没有说明如何引入数据,在线从头学习时很难。在不累非常善良的人的情况下,我希望解决方案就像更改一行代码一样简单,并且有人可以提供帮助。我的代码#!/usr/bin/python#vim:setfileencoding=UTF8importnumpyasnpimportpandasaspdfrommatplotlib.mlabim
我有一个包含5000个产品和50个特征的数据集。其中一列是“颜色”,该列中有100多种颜色。我正在尝试绘制条形图以仅显示前10种颜色以及每种颜色有多少产品。top_colors=df.colors.value_counts()top_colors[:10].plot(kind='barh')plt.xlabel('No.ofProducts');使用Seaborn:sns.factorplot("colors",data=df,palette="PuBu_d");1)有更好的方法吗?2)我如何用Seaborn复制它?3)我如何绘制最高计数在顶部(即条形图最顶部的黑色)
我正在使用Matplotlib绘制时间序列数据,但序列中缺少一些数据。Matplotlib隐式地将最后一个连续数据点加入到下一个数据点。但如果数据丢失,情节看起来很难看。以下是获得的情节。可以看出,在4月30日标记附近,数据缺失,Matplotlib加入点。下图也是数据的散点图。散点图掩盖了这个错误,但在这种情况下,相邻的数据点不会联合。此外,鉴于涉及大量数据点,散点图非常慢。此类问题的推荐解决方案是什么。 最佳答案 如果你能确定断点应该在哪里,你可以:分解数据并手工绘制每个“部分”在空白处的数据中插入np.nan参见示例Plotp