标签: subplot

如何强制显示plotly.express中每个子图的x轴和y轴

plotly.express.histogram()我想使用每个子图都有自己的 x轴和 y 轴(为了更好的可读性)来绘制具有行和列面的直方图。在查看文档时(例如,转到“直方图分面网格”部分),我可以看到很多重复 x 轴和 y 轴的示例。但就我而言,这并不是自动完成的。

import numpy as np
import pandas as pd
import plotly.express as px

# create a dummy dataframe with lots of variables
rng = np.random.default_rng(42)
n_vars = 3
n_samples = 10
random_vars = [rng.normal(size=n_samples) for v in range(n_vars)]
m = np.vstack(random_vars).T
columns = pd.MultiIndex.from_tuples([('a','b'),('a','c'),('b','c')],names=['src','tgt'])
df = pd.DataFrame(m,columns=columns)

# convert to long format
df_long = df.melt()

# plot with plotly
fig = px.histogram(df_long,x='value',facet_row='src',facet_col='tgt')
fig.update_layout(yaxis={'side': 'left'})
fig.show()
Run Code Online (Sandbox Code Playgroud)

这给了我:

在此输入图像描述

如何事后配置图形以便为每个子图显示 x 轴和 y …

python histogram subplot plotly

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

试图将一个3d子图添加到matplotlib图中

所以我试图创建一个数字,从数据点呈现一个3d图,以及3个其他子图中的3个投影图.我可以毫无问题地为投影添加子图,但是当我尝试将3维图放入图中时,事情会适得其反.

这是我的代码:

def plotAll(data):
    fig = plt.figure()
    plot_3d = fig.add_subplot(221)
    ax = Axes3D(plot_3d)  
    for i,traj in enumerate(data.values()):
        ax.plot3D([traj[0][-1]],[traj[1][-1]],[traj[2][-1]],".",color=[0.91,0.39,0.046])    
    #plot_12v13 = fig.add_subplot(222)
    #plot_projections(data,0,1)
    #plot_13v14 = fig.add_subplot(223)
    #plot_projections(data,1,2)
    #plot_12v14 = fig.add_subplot(224)
    #plot_projections(data,0,2)
    #plt.plot()
Run Code Online (Sandbox Code Playgroud)

抛出:'AxesSubplot'对象没有属性'transFigure'

我正在使用matplotlib 0.99.3,非常感谢任何帮助,谢谢!

matplotlib subplot mplot3d

4
推荐指数
3
解决办法
9560
查看次数

如何在同一个显示窗口中绘制3个子图?蟒蛇

# Import plotting routines
from pylab import *

# 1D ODE that has a pitchfork bifurcation
# x_dot = r * x - x * x * x
def PitchforkODE(r,x):
return r * x - x * x * x

# 1D Euler
def OneDEuler(r,x,f,dt):
    return x + dt * f(r,x)

# Improved 1D Euler
def ImprovedOneDEuler(r,x,f,dt):
xtemp = x + dt * f(r,x)
return x + dt * ( f(r,x) + f(r,xtemp) ) / 2.0

# 4th Order Runge-Kutta …
Run Code Online (Sandbox Code Playgroud)

python plot matplotlib subplot

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

Matplotlib - 断轴示例:不均匀的子图大小

我还没有找到一个解决方案,调整底部和顶部图的高度破碎轴示例matplotlib.

顺便说一句:两个地块之间的空间可以通过以下方式调整:

plt.subplots_adjust(hspace=0.03)
Run Code Online (Sandbox Code Playgroud)

更新:

我几乎用gridspec解决了这个问题:

"""
Broken axis example, where the y-axis will have a portion cut out.
"""
import matplotlib.pylab as plt
# NEW:
import matplotlib.gridspec as gridspec
import numpy as np

pts = np.array([ 0.015,  0.166,  0.133,  0.159,  0.041,  0.024,  0.195,
    0.039, 0.161,  0.018,  0.143,  0.056,  0.125,  0.096,  0.094, 0.051,
    0.043,  0.021,  0.138,  0.075,  0.109,  0.195,  0.05 , 0.074, 0.079,
    0.155,  0.02 ,  0.01 ,  0.061,  0.008])
pts[[3,14]] += .8

# NEW:
gs = …
Run Code Online (Sandbox Code Playgroud)

python matplotlib subplot

4
推荐指数
1
解决办法
5889
查看次数

如何使用pandas包为python创建的子图清除默认的boxplot的suptitle

在下面的例子中,我尝试为四个"Power"级别制作"Emission"与"Voltage"的箱线图,每个功率级别占据一个子图.

fig = plt.figure(figsize=(16,9))
i = 0
for Power in [10, 20, 40, 60]:
    i = i+1
    ax = fig.add_subplot(2,2,i)
    subdf = df[df.Power==Power]
    bp = subdf.boxplot(column='Emission', by='Voltage', ax=ax)
fig.suptitle('My Own Title')
Run Code Online (Sandbox Code Playgroud)

问题是,

fig.suptitle('My Own Title')
Run Code Online (Sandbox Code Playgroud)

命令不会刷新默认的"按电压分组"的格式.我在这里错过了什么?或者这是一个错误?

谢谢.

python matplotlib boxplot pandas subplot

4
推荐指数
2
解决办法
2157
查看次数

带有pandas数据帧的子图

我想使用pandas数据帧(称为df)在图上创建多个子图.

我原来的情节在这里:

df.plot(x='month', y='number', title='open by month',color="blue")
Run Code Online (Sandbox Code Playgroud)

我尝试了matplotlib的这个网站pyplot教程的"使用数字和子图"部分的多次尝试

[1]

plt.figure(1)
df.plot.(figure(1), sublot(211), x='month', y='number', title='open byXXX"
df.plot.(figure(1), sublot(212), x='month', y='number', title='open byXXX"
Run Code Online (Sandbox Code Playgroud)

[2]

plt.figure(1)
df.plot.subplot(211)(x='month', y='number', title='open byXXX")
df.plot.subplot(212)(x='month', y='number', title='open byXXX")
Run Code Online (Sandbox Code Playgroud)

python matplotlib pandas subplot

4
推荐指数
1
解决办法
8849
查看次数

图中的交换子图

我创建了一个包含4个子图的图形,如:

y = [2 2 3; 2 5 6; 2 8 9; 2 11 12];
fig = figure
for i = 1 : 4
    h(i) = subplot(1,4,i)
    bar(y)
end
Run Code Online (Sandbox Code Playgroud)

现在我想交换子图的顺序.例如,第一个子图应该进入最后一列(第4个),第二个子图应该与第3个进行交换.

如果不重新生成这个数字是否可行?

matlab figure subplot matlab-figure

4
推荐指数
1
解决办法
172
查看次数

熊猫:为不同的子图设置不同的ylim和标题

说我有这个数据框:

    Type       Cat1       Cat2       Cat3
0   A      0.384000   0.393000   0.458000
1   B      0.603337   0.381470   0.299773
2   C      0.585797   0.452570   0.317607
3   D      0.324715   0.765212   0.717755
Run Code Online (Sandbox Code Playgroud)

我这样绘制(从这里开始):

axes = df.set_index('Type').plot.bar(subplots=True, legend=False)
plt.subplots_adjust(hspace=0.35)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我的问题:如何ylim为每个子图设置不同的值?以及如何修改Cat标题的字体大小?

python matplotlib pandas subplot

4
推荐指数
1
解决办法
782
查看次数

如何在子图之间创建空间?

标题基本概括了所有内容.我有一个包含两个子图的笔记本,并希望在它们之间创建一些空间.他们说每次看起来都太近了.

python numpy matplotlib python-3.x subplot

4
推荐指数
1
解决办法
8006
查看次数

R plotly子图在图之间添加空间

我想在地块之间添加空间,但是当我玩边距游戏时,它会重叠或割伤。这是代码:

library(plotly)

plotList <- function(nplots) {
  lapply(seq_len(nplots), function(x) plot_ly())
}
s1 <- subplot(plotList(6), nrows = 2, shareX = TRUE, shareY = TRUE)
s2 <- subplot(plotList(2), shareY = TRUE)
p <- subplot(s1, s2, plot_ly(), nrows = 3, margin = 0.04, heights = c(0.6, 0.3, 0.1))

print(p)
Run Code Online (Sandbox Code Playgroud)

我得到这个:

在此处输入图片说明

而我希望这样的东西(用油漆完成的图像)​​在不同子图之间有更大的间距:

在此处输入图片说明

我应该怎么做 ?

r spacing subplot plotly r-plotly

4
推荐指数
2
解决办法
1540
查看次数