相关疑难解决方法(0)

将图表保存为PDF

绘图模块

def plotGraph(X,Y):
    fignum = random.randint(0,sys.maxint)
    plt.figure(fignum)
    ### Plotting arrangements ###
    return fignum
Run Code Online (Sandbox Code Playgroud)

主要模块

import matplotlib.pyplot as plt
### tempDLStats, tempDLlabels are the argument
plot1 = plotGraph(tempDLstats, tempDLlabels)
plot2 = plotGraph(tempDLstats_1, tempDLlabels_1)
plot3 = plotGraph(tempDLstats_2, tempDLlabels_2)
plt.show()
Run Code Online (Sandbox Code Playgroud)

我想将所有图形plot1,plot2,plot3保存到单个PDF文件中.有没有办法实现它?我不能plotGraph在主模块中包含该功能.

有一个名为的功能,pylab.savefig但只有当它与绘图模块一起放置时才会起作用.有没有其他方法可以实现它?

python matplotlib

72
推荐指数
4
解决办法
18万
查看次数

在pandas DataFrame中绘制分组数据的直方图

我需要一些指导来确定如何在pandas数据帧中从分组数据中绘制直方图块.这是一个例子来说明我的问题:

from pandas import DataFrame
import numpy as np
x = ['A']*300 + ['B']*400 + ['C']*300
y = np.random.randn(1000)
df = DataFrame({'Letter':x, 'N':y})
grouped = df.groupby('Letter')
Run Code Online (Sandbox Code Playgroud)

在我的无知中,我尝试了这个代码命令:

df.groupby('Letter').hist()
Run Code Online (Sandbox Code Playgroud)

失败的错误消息"TypeError:无法连接'str'和'float'对象"

任何帮助最受赞赏.

python histogram pandas

49
推荐指数
4
解决办法
9万
查看次数

是否可以在matplotlib中叠加3-d条形图?

本质上是3d版本:使用matplotlib同时绘制两个直方图

尽管由于使用Axes 3d,所以我不知道该怎么做。

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np

kets = ["|00>","|01>","|10>","|11>"] #my axis labels

fig = plt.figure()
ax1  = fig.add_subplot(111,projection = '3d')

xpos = [0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3]
xpos = [i+0.25 for i in xpos]
ypos = [0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
ypos = [i+0.25 for i in ypos]
zpos = [0]*16

dx    = 0.5*np.ones(16)
dy    = 0.5*np.ones(16)
dz    = [1,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0]
dz2   = [0.2*i for i in dz] # to superimpose dz

ticksx = np.arange(0.5,4,1)
ticksy = np.arange(0.6,4,1)

ax1.bar3d(xpos, …
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib mplot3d

5
推荐指数
1
解决办法
848
查看次数

使用pandas覆盖多个直方图

我有两个或三个具有相同标题的csv文件,并希望在同一个图上绘制彼此重叠的每列的直方图.

下面的代码给出了两个单独的图,每个图包含每个文件的所有直方图.有没有一种紧凑的方法可以使用pandas/matplot lib在同一个图上绘制它们?我想象一下接近这个但是使用数据帧.

码:

import pandas as pd
import matplotlib.pyplot as plt

df =  pd.read_csv('input1.csv')
df2 = pd.read_csv('input2.csv')
df.hist(bins=20)
df2.hist(bins=20)

plt.show()
Run Code Online (Sandbox Code Playgroud)

python statistics matplotlib pandas

3
推荐指数
1
解决办法
5533
查看次数

用熊猫绘制多个重叠的直方图

我有两个不同的数据框,每个数据框有 19 个变量,我正在用每个变量的直方图绘制一个多重图,如下所示:

fig, ax = plt.subplots(figsize=(19,10), dpi=50)
dataframe1.hist(ax=ax, layout=(3,7), alpha=0.5)

fig, ax = plt.subplots(figsize=(19,10), dpi=50)
dataframe2.hist(ax=ax, layout=(3,7), alpha=0.5)
Run Code Online (Sandbox Code Playgroud)

这会产生两个内部有 19 个直方图的图像。我想尝试的是在同一个子图中仅绘制一个具有共享直方图的图像。

我试过这个:

fig, ax = plt.subplots(figsize=(19,10), dpi=50)
dataframe1.hist(ax=ax, layout=(3,7), alpha=0.5, label='x')
dataframe2.hist(ax=ax, layout=(3,7), alpha=0.5, label='y', color='red')
Run Code Online (Sandbox Code Playgroud)

但它只画了最后一张。这是一个类似的例子:使用 matplotlib同时绘制两个直方图,但我如何将它应用于我的 19 个子图?

任何想法都会受到欢迎,提前致谢!

在此处输入图片说明

PS:我目前正在使用带有%matplotlib notebook选项的Jupyter Notebooks

python matplotlib pandas

3
推荐指数
1
解决办法
3669
查看次数

matplotlib中的直方图未按预期工作

我有两个数组:

import numpy as np
import pylab as pl

x = np.array([-36., -34.95522388, -33.91044776, -32.86567164,
   -31.82089552, -30.7761194 , -29.73134328, -28.68656716,
   -27.64179104, -26.59701493, -25.55223881, -24.50746269,
   -23.46268657, -22.41791045, -21.37313433, -20.32835821,
   -19.28358209, -18.23880597, -17.19402985, -16.14925373,
   -15.10447761, -14.05970149, -13.01492537, -11.97014925,
   -10.92537313,  -9.88059701,  -8.8358209 ,  -7.79104478,
    -6.74626866,  -5.70149254,  -4.65671642,  -3.6119403 ,
    -2.56716418,  -1.52238806,  -0.47761194,   0.56716418,
     1.6119403 ,   2.65671642,   3.70149254,   4.74626866,
     5.79104478,   6.8358209 ,   7.88059701,   8.92537313,
     9.97014925,  11.01492537,  12.05970149,  13.10447761,
    14.14925373,  15.19402985,  16.23880597,  17.28358209,
    18.32835821,  19.37313433,  20.41791045,  21.46268657,
    22.50746269,  23.55223881,  24.59701493,  25.64179104,
    26.68656716,  27.73134328,  28.7761194 , …
Run Code Online (Sandbox Code Playgroud)

python matplotlib histogram

0
推荐指数
2
解决办法
2090
查看次数

标签 统计

python ×6

matplotlib ×5

pandas ×3

histogram ×2

mplot3d ×1

numpy ×1

statistics ×1